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

《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 | 精品久久影院 | 看黄色一级毛片 | 九一毛片 | 激情综合五月婷婷 | 欧美综合亚洲图片综合区 | 66精品综合久久久久久久 | 日本中文在线三级在线播放 | 久久伊人最新 | 国产午夜精品不卡观看 | 九九99国产精品视频 | 伊人久色 | 逆天至尊免费看229集 | 久久99热国产这有精品 | 九九久久国产精品免费热6 九九久久精品 | 老湿机午夜影院 | 久久国产成人福利播放 | 毛片免费全部免费观看 | 亚洲天堂区 | 中文字幕在线观看 | 国产真实乱xxxav | 97在线免费看视频 | 国产香蕉在线视频 | 国产精品社区在线观看 | 久色精品 | 免费的成人a视频在线观看 免费的黄色网 | 一级毛片卡 | 国产乱人视频在线播放不卡 | 欧美一级级a在线观看 | 精品国产精品久久一区免费式 | 日本成人tv | 国产dvd毛片在线视频 |