设置注入技术
- –technique=( B:布尔,E:报错,U:联合查询注入,S:堆叠注入,T:时间注入,Q:内敛查询注入)
- –time-sec 设置延迟注入时间
- –union-cols 设置union注入字段数
- –union-char 设置union注入字符(默认为null)
- –second-url 二阶sql注入,查询指定url页面
获取目标方式
sqlmap
-
-d 直连数据库
. 服务型数据库:sqlmap -d DBMS://SUER:PASSWORD@DBMS_IP:DBMS_POPT/DATABASE NAME(Mysql,Oracle)
. 文件型数据库:DBMS://DATABASE_FILEPATH(SQLLITE) -
-u url中读取目标
-
-l burpuite 或webscarab proxy 中读取http请求日志文件
-
-x 从sitemap.xml站点地图文件中读取目标探测
-
-m 从多行文本格式读取目标探测
-
-r 从文本读取http请求探测
-
-c 从配置文件sqlmap.conf中读取目标探测
-
google 批量注入 sqlmap -g "inurl:’.php?id=1
请求方式
- –proxy:设置代理
- –delay:发送延迟
- –timeout:超时时间
- –randomize:设定某个参数随机变化
- –scope:正则过滤日志网站
设置等级
1.–level:探测等级(1-5)
2.–risk:风险参数(1-3)
3.-v:显示等级(0-6)
获取信息
- –dbs 获取所有数据库 -D 指定数据库
- –current-db 获取当前数据库名称
- –tables 获取所有表名 -T 指定表
- –columns 获取所有字段名 -C 指定字段
- –dump 获取字段信息
- –users 获取所有用户
- –passwords 获取数据库密码
- –is-dba 当前用户是否为管理员
- –roles 列出数据库管理员角色
- –count 获取表中的数据个数
- –search 搜索字段,表,数据库
- –common-tables,–common-columns 爆破表名,字段名
文件操作
- –file-read 读取数据库服务器文件
- –file-write,–file-dest 上传文件
系统操作
- –os-cmd 运行任意操作系统命令
- –os-shell 上传真实的shell
- –sql-shell 运行自定义sql语句
参数设置
- –referer 设置http referer头
- –data 提交POST数据
- –param-del 参数拆分字符
- –cookie 设置登录cookie
- –user-agent 设置user agent
- –random-agent 随机获取user agent
- –host 设置httphost值
- –headers 添加额外http头
- –eval 每次请求执行python代码
- –skip-urlencode 关闭参数的url编码
WAF
- –check-waf 启发检测WAFIPS/IDS保护
- –hpp 使用http参数污染
- –identify-waf 测试找出waf版本
- –mobile 模仿手机
tamper 脚本
脚本名称 | 作用 |
---|---|
apostrophemask.py | 将引号替换为UTF-8,用于过滤单引号。 |
base64encode.py | 替换为base64编码 |
multiplespaces.py | 围绕SQL关键宇添加多个空格。 |
space2plus.py | 用+号替换空格。 |
nonrecursivereplacement. py | 双写绕过 |
space2randomblank.py | 将空格替换为其他有效字符。 |
unionalltounion.py | 将union all select 转换为 union select |
securesphere.py | 追加特制的字符串 。 |
space2hash.py | 将空格替换为#号,并添加一个随机字符串和换行符。 |
space2mssqlblank.py(mssql) | 将空格替换为其他空符号。 |
between.py | 用NOT BETWEEN 0 AND替换大于号,用BETWEEN AND替换等号 |
percentage.py | ASP允许在每个字符前面添加一个%号。 |
charencode.py | 对给定的Payload全部字符使用URL编码 |
randomcase.py | 随机化大小写 |
charUnicodeencode.py | 字符串unicode编码 |
space2comment. py | 将空格替换为/**/ |
modsecurityversioned.py | 使用MySQL内联注释的方式进行注入。 |
space2mysqlblank.py(mysql) | 将空格替换为其他空白符号 |
chardoubleencode.py | 对给定的Payload全音~字符使用双重Url编码 |
randomcomments.py | 用/**/分割SQL关键字。 |
unmagicquotes.py | 宽字节 |