sqlmap简介
sqlmap支持五种不同的注入模式:
- UNION query SQL injection(可联合查询注入)
Error-based SQL injection(报错型注入)
Boolean-based blind SQL injection(布尔型注入)
Time-based blind SQL injection(基于时间延迟注入)
Stacked queries SQL injection(可多语句查询注入)
sqlmap支持的数据库
- MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase和SAP MaxDB
首先 运行sqlmap需要python环境
这里就不介绍安装了
图片.png
这里由于我安装了两个版本的python2.75和pyhton3.6所以我要选定那个python环境来运行sqlmap
这是我的命令 : python2.exe sqlmap.py -u "URL"
图片.png
本篇bolg主要讲一些sqlmap的命令
这里有一些基本命令
参数: -u /--url
最基本格式
python sqlmap.py -u “http://www.target.com/index.php?id=1”
参数: -m
从文本中获取多个目标扫描,但是每一行一个 url。
python sqlmap.py -m “urllist.txt”
参数:-r
从文件中加载 HTTP 请求,这样的话 就不需要在去设定 Cookie,POST 数据 ...... 等等.
python sqlmap.py –r “/tmp/1.txt”
参数:--batch
永远不要要求用户输入,使用默认行为
python sqlmap.py -u "url" --batch
参数:--data
此参数是把数以POST方式提交,sqlmap会像检测GET参数一样检测POST过去的参数。
python sqlmap.py -u "http://www.target.com/vuln.php" --data="id=1”
参数:--cookie
当web需要登录的时候,需要我们抓包获取cookie参数,然后复制出来,加到--cookie参数中。
参数:--user-agent
默认情况下sqlmap的HTTP请求头中的User-Agent值是: sqlmap/1.0-devxxxxxxxxx(http://sqlmap.org)这个时候可以手动指定伪造一个User-Agent。
python sqlmap.py -u “http://www.target.com” --level 3 --user-agent=”aaaaaa” --dbs
参数:--referer
sqlmap可以在请求中伪造HTTP中的referer。
python sqlmap.py -u “http://www.target.com” --leve 3 --referer=”www.baidu.com” –dbs
当--level参数设定>=3时,会尝试进行referer注入。
参数:--level
共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,
自己也可以根据相应的格式添加自己的payload。
level>=2的时候就会测试HTTP Cookie。
level>=3的时候就会测试HTTP User-Agent/Referer头。
level=5 的时候会测试HTTP Host。
-v 默认为1:
0、只显示python错误以及严重的信息。
1、同时显示基本信息和警告信息。(默认等级)
2、同时显示debug信息。
3、同时显示注入的payload。
4、同时显示HTTP请求。
5、同时显示HTTP响应头。
6、同时显示HTTP响应页面。
常用搭配
--dbs 爆数据库
--current-db 爆当前数据库
--tables -D database_name 爆表名
--columns -T table_name -D database_name 爆字段
--dump -C column_1,column_2 -T table_name -D database_name 爆字段内容
网友评论