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

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

系統 2219 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爱免费视频 | 国产a级高清版毛片 | 国产精品视频在线免费观看 | 美国一级毛片免费看成人 | 88国产精品视频一区二区三区 | 久久成人免费播放网站 | 久久99精品久久久久子伦小说 | 国产做国产爱免费视频 | 欧美 亚洲 另类 热图 | 国产性色视频 | 一级骚片超级骚在线观看 | 久久久国产99久久国产一 | 激情五月婷婷红人馆 | 日韩日b | 一区二区三区四区日韩 | 久久久噜久噜久久综合 | 美女视频很黄很暴黄是免费的 | 中国产一级毛片 | 成人在线免费观看 | 8x在线永久成人影院 | 四虎网址换成什么了2021 | 成人久久18免费网站游戏 | 亚洲欧美综合国产精品一区 | 国产精品久久久久久影院 | 日本视频不卡 | 中国护士一级毛片免费版本 | 久久久久亚洲精品影视 | 999热视频 | 亚洲综合网在线观看 | 国产日韩精品一区在线观看播放 | 精品综合久久久久久蜜月 | 国产天堂 | 久久国产欧美日韩精品免费 | 亚洲精品久久久午夜伊人 | 欧美 日产 国产精品 | 不卡国产 | 日韩在线观看中文字幕 | 五月婷婷在线免费观看 | 一区二区三区精品视频 |