1988's Studio.

Sqlmap-payload修改姿势(二)

2018/02/04

前两天学习到基本的payload修改姿势,这次继续深挖==

xml文件的具体标签

来看 boundaries.xml文件,模板里面分别定义了,,,,,六个标签。

标签:

标签就是我们使用sqlmap注入时候–level的命令,这个标签分别定义了1-5个等级的发包数量,默认是1,表示做最少的检测,level越高,检测的数量越高。level等于2时会检测cookie字段是否有注入,等于3时会检测User-Agent、Host、Referer等HTTP的头部字段是否有注入。

标签:


该标签说明了sqlmap使用的条件从句,其中always表示测试所有。

标签:


该标签定义了payload写入的位置详见的解释。

标签:


举个例来说:假设如下查询语句?id=1’ union SELECT * FROM Persons WHERE City=’Beijing’–+其中?id=1后面的单引号是由前缀标签定义的,–+是由后缀标签定义的,而中间语句所要使用的字符则是由标签定义的,简单来说就是参数的类型。

标签:


注入语句的前缀定义了注入中常用到闭合或者注释的字符,例如 右括号),单引号加右括号’),两个右括号))等等。

标签:


定义了SQL注入的语句的后缀,比如说常见的注释符、也可能是另外的sql语句看具体情况。

完整的payload


这里还是不能插入图片,我只能在后面描述了==

标题

说明了每个payload的注入类型,分别就是我们上述所说的6种sqlmap常用的注入类型。

为每个payload的发包数量的等级,与boundary中的level的定义一致。

为每个payload的风险等级,等级越高对数据库的造成的破坏越大。

为每个payload使用的sql查询从句与boundary中的clause定义一致。

为每个payload 要插入的位置。

sql注入模板。

sql注入的请求测试。

SQL注入的request请求中payload。

一般在payload之后前缀之前。

在union查询时字符串使用的列数。

union查询时用来判断列数。

通过SQL注入的response返回包,一般用来判断注入是否成功。

通常用在boolean_blind.xml文件中的布尔盲注用来做比较,判断页面状态。

通常用于报错注入的时候判断。

时间盲注和堆叠查询使用。

可以注入成功的union语句。

sqlmap输出payload的详情,有三个子节点分别是

子节点表示数据库类型。

子节点表示数据库版本。

子节点表示操作系统的类型。

sqlmap的注入除了payload还需要其他xml文件


想要了解每个标签的作用效果,我们可以通过sqlmap丰富的指令指定使用的xml文件,如果没有指令可以指定xml我们可以手动通过增加、修改、删除xml文件下的元素,来缩小范围,这样我们就能知道每个标签的作用效果。

CATALOG
  1. 1. xml文件的具体标签
    1. 1.1. 标签:
    2. 1.2. 标签:
    3. 1.3. 标签:
    4. 1.4. 标签:
    5. 1.5. 标签:
    6. 1.6. 标签:
  2. 2. 完整的payload
  3. 3. sqlmap的注入除了payload还需要其他xml文件