sqlmap 特性

  1. tamper
  2. 前缀 –prefix
  3. --sql-shell
  4. 注入类型
  5. -r
  6. 指定数据库,表,来脱库
  7. 头部注入检测
  8. 清除session,重新扫描

tamper

使用方法:

sqlmap -u [url] --tamper [模块名]

--list-tampers

  • 这里是tamper的常用脚本
  • 自己写tamper脚本,放在/usr/share/sqlmap/tamper

  • 过逗号的模块 "commalessmid,ifnull2casewhenisnull"

前缀 –prefix

当碰到类似sprint漏洞的时候,使用--prefix修改Payload的前缀'

  • 这篇是介绍sprint漏洞的
    通过fuzz的方式发现%的返回多出了内容

--sql-shell

  • --sql-shell 通过用sql语句的方法查看数据
select count(distinct table_schema) from information_schema.tables;

select group_concat(distinct table_schema) from information_schema.tables;
select group_concat(table_name) from information_schema.tables where table_schema='sqli';
select group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='users';

注入类型

B: Boolean-based blind SQL injection(布尔型注入)
E: Error-based SQL injection(报错型注入)
U: UNION query SQL injection(可联合查询注入)
S: Stacked queries SQL injection(可多语句查询注入)
T: Time-based blind SQL injection(基于时间延迟注入)

-r

可以直接使用整个请求包
注意里面报头不能有空行,从brupsuite 直接复制到vim会有空行是不行的,放到gedit再拿过来就好了。

或者
:g/^$/d

指定数据库,表,来脱库

-D "security" -T "users" --dump

头部注入检测

--level=2 // Attack the Cookie header
--level=3 // Attack the User-Agent header, as well as the Referer header
--level=5 // Attack the Host header

不在列的属性只用在头部文件中使用* 就可以了

清除session,重新扫描

--flush-session --fresh-queries

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 365433079@qq.com