亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

《sql注入攻擊與防御 第2版》的總結 之 如何確

系統 1851 0

?

?

?

看完《sql注入攻擊與防御 第2版》后,發現原來自己也能黑網站了,就一個字:太爽了。

?

?

?

簡單總結一下入侵步驟:

  1、確定是否有 sql 注入漏洞

  2、確定數據庫類型

  3、組合 sql 語句,實施滲透

  4、獲取最高權限后,想怎么玩就怎么玩

?

?

?

?

?

學習sql注入漏洞,需要的材料:

  瀏覽器?????????? X1

  wamp 集成包? X1

  php 腳本一個? X1

  數據庫一個???? X1

  php腳本內容:

        
           1
        
        
          <
        
        
          ?php


        
        
           2
        
        
          //
        
        
          獲取數據


        
        
           3
        
              $id
        
          =
        
         empty($_GET
        
          [
        
        
          'id'
        
        
          ]
        
        )?"
        
          NULL
        
        ":$_GET
        
          [
        
        
          'id'
        
        
          ]
        
        
          ;


        
        
           4
        
              $name
        
          =
        
         empty($_GET
        
          [
        
        
          'name'
        
        
          ]
        
        )?"
        
          NULL
        
        ":$_GET
        
          [
        
        
          'name'
        
        
          ]
        
        
          ;


        
        
           5
        
        
          //
        
        
          連接數據庫


        
        
           6
        
              $connect 
        
          =
        
         mysql_connect(
        
          '
        
        
          localhost
        
        
          '
        
        ,
        
          '
        
        
          root
        
        
          '
        
        ,
        
          '
        
        
          123456
        
        
          '
        
        
          );


        
        
           7
        
        
          //
        
        
          選擇數據庫


        
        
           8
        
              mysql_select_db(
        
          '
        
        
          new
        
        
          '
        
        
          ,$connect);


        
        
           9
        
        
          //
        
        
          組合sql語句


        
        
          10
        
              $sql 
        
          =
        
         "
        
          SELECT
        
        
          *
        
        
          FROM
        
         one 
        
          where
        
         id
        
          =
        
        {$id} 
        
          or
        
         name
        
          =
        
        
          '
        
        
          {$name}
        
        
          '
        
        
          ";


        
        
          11
        
        
          //
        
        
          執行sql語句


        
        
          12
        
              $result 
        
          =
        
        
           mysql_query($sql);


        
        
          13
        
        
          //
        
        
          顯示數據結果


        
        
          14
        
        
          while
        
         ($row 
        
          =
        
        
           mysql_fetch_array($result)) {


        
        
          15
        
                  echo "
        
          <
        
        pre
        
          >
        
        
          ";


        
        
          16
        
        
                   print_r($row);


        
        
          17
        
                  echo "
        
          </
        
        pre
        
          >
        
        
          ";


        
        
          18
        
              }
      
View Code

?

  創建數據庫和數據表

        
          1
        
        
          --
        
        
          創建數據庫
        
        
          2
        
        
          Create
        
         databases 
        
          if
        
        
          exists
        
        
           new;


        
        
          3
        
        
          --
        
        
          創建數據表
        
        
          4
        
        
          create
        
        
          table
        
        
           one(


        
        
          5
        
             id 
        
          int
        
        
          not
        
        
          null
        
         auto_increment 
        
          primary
        
        
          key
        
        
          ,


        
        
          6
        
             name 
        
          varchar
        
        (
        
          10
        
        ) 
        
          not
        
        
          null
        
        
          ,


        
        
          7
        
             pwd 
        
          varchar
        
        (
        
          10
        
        ) 
        
          not
        
        
          null
        
        
          ,


        
        
          8
        
             price 
        
          int
        
        
          not
        
        
          null
        
        
          9
        
         )engine
        
          =
        
        myisam 
        
          default
        
         charset
        
          =
        
        utf8;
      
View Code

?

?

?以下將用5種方法判斷是否有sql注入漏洞

  1、根據運算符判斷

  2、根據連接字符串判斷

  3、根據內聯sql判斷

  4、根據sql注釋符判斷

  5、根據時間延遲判斷

?

?

?

?

以下例子是判斷是否有sql注入的測試。

?

?

一、根據 < 運算符 > 判斷是否有 sql 漏洞。實現步驟如下:

  正常運行流程:

    1、在瀏覽器輸入地址

      Sql 語句: SELECT?*?FROM?one?where?id=1?or?name='NULL'

    2、查看瀏覽器輸出結果,將發現 id 1 的數據被輸出

  非正常運行流程,使用運算符:

    1 、在瀏覽器輸入地址

  ?    

      Sql 語句: SELECT?*?FROM?one?where?id=4-1?or?name='NULL'

    2、查看瀏覽器輸出結果,將發現 id 3 的數據被輸出。因為 sql 執行了 4-1 的運算了。

?

?

二、根據 < 字符串 > 判斷是否有 sql 漏洞。實現步驟如下:

  正常運行流程:

?    1 、在瀏覽器輸入地址

?      ?

      Sql 語句: SELECT?*?FROM?one?where?id=NULL?or?name='hello'

    2、查看瀏覽器輸出結果,將發現 name hello 的數據被輸出

  非正常運行流暢,使用字符串連接

    1、在瀏覽器輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=NULL?or?name='he'?'llo'

    2 、查看瀏覽器輸出結果,將發現 name hello 的數據被輸出。因為 sql 執行了: 字符串連接操作。

?

?

三、根據 < 字符串內聯 > 判斷是否有 sql 注入漏洞。實現步驟如下:

  正常運行流暢:

    1 、在瀏覽器輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=NULL?or?name='hello'

    2、查看瀏覽器輸出結果,將發現 name hello 的數據被輸出。

  非正常運行流程:

    1 、在瀏覽輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=NULL?or?name='he'?'llo'?or?'1'='1'

    2 、查看瀏覽器輸出結果,將發現所有數據被輸出。

?

?

四、使用 <sql 的注釋符號 > 判斷是否有 sql 輸入漏洞

  正常運行流程:

    1、在瀏覽器輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=3?or?name='NULL'

    2、查看瀏覽器輸出結果,將發現 id 3 的數據被顯示出來

  非正常運行流程:

    1、在瀏覽器輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=3--?or?name='NULL'

    2、查看瀏覽器輸出結果,將發現 id 3 的數據被顯示出來

?

?

五、使用 < 時間延遲 > 判斷是否有 sql 注入漏洞

  正常運行流程:

    1、在瀏覽器輸入地址

?      

      Sql 語句: SELECT?*?FROM?one?where?id=3?or?name='NULL'

    2 、查看瀏覽器輸出結果,將發現 id 3 的數據被顯示出來

  非正常運行流程:

    1、在瀏覽器輸入地址

      Sql 語句: SELECT?*?FROM?one?where?id=3?or?sleep(10)?or?name='NULL'

    2 、這時瀏覽器返回結果,會有明顯的延遲

?

?

?

?

備注:該測試用到的數據庫為mysql數據庫,sql語句都是針對mysql。其他數據庫的測試方式大同小異,只要思路正確就一切ok。

備注:sqlmap工具聽說挺不錯,可以試試。

?

《sql注入攻擊與防御 第2版》的總結 之 如何確定有sql注入漏洞


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩a无吗一区二区三区 | 国产成人在线小视频 | 色综色 | 在线播放性xxx欧美 在线播放亚洲 | 日韩中文字幕在线 | 亚洲七七久久综合桃花 | 成人私人影院在线版 | 日本1区2区| 91精品乱码一区二区三区 | 午夜噜噜噜私人影院在线播放 | 久久精品三级 | 被黑人做的白浆直流在线播放 | 国产免费私人影院永久免费 | 亚洲色图插插插 | 一级毛片私人影院 | 欧美午夜精品一区二区三区 | 久久在线影院 | 悠久久 | 一本一本久久a久久综合精品蜜桃 | 亚洲美女视频在线观看 | 中文字幕在线观看日本 | 亚洲欧美日韩精品香蕉 | 亚洲欧美日韩久久精品第一区 | 久久国产精品女 | 视频1区| ww.久久| 久久久久蜜桃 | 综合伊人 | 亚洲日本高清成人aⅴ片 | 欧美老妇69交 | 一级毛片人与动免费观看 | 9久久免费国产精品特黄 | 麻豆伦理| 亚洲精品久久国产小说 | 精品哟哟国产在线观看 | 久久精品国产大片免费观看 | 97视频在线免费观看 | 尹人香蕉久久99天天 | 四虎最新免费网址 | 3d动漫精品成人一区二区三 | 国产精品第一 |