前两天学习到基本的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文件下的元素,来缩小范围,这样我们就能知道每个标签的作用效果。