burpsuite-Intruder-Payloads
1.四种攻击类型:
Sniper标签 这个是我们最常用的,Sniper是狙击手的意思。这个模式会使用单一的payload【就是导入字典的payload】组。它会针对每个position中$$位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。攻击中的请求总数应该是position数量和payload数量的乘积。
Battering ram – 这一模式是使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。简单说就是一个playload字典同时应用到多个position中
Pitchfork – 这一模式是使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。比如:position中A处有a字典,B处有b字典,则a【1】将会对应b【1】进行attack处理,这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量
Cluster bomb – 这种模式会使用多个payload组。每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。比如:position中A处有a字典,B处有b字典,则两个字典将会循环搭配组合进行attack处理这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。
2.设置payload
Simple list
首先Simple list可以算是最基本的,用法很简单,可以直接输入按Add,也可以上传文档。
虽然这边我们demo都是手动输入,不过实际上要执行暴力破解等动作,通常Payload一定会是很大量的,用手输入可能会累死,所以实际上都是用选择上传文件的方式。
谈起Payload与字典文件可能又会无限发散,这边就随便放个SecLists让大家参考参考:
https://github.com/danielmiessler/SecLists/tree/master/Passwords
Runtime file
Runtime file 是指定文档,让你直接选择文档,每一行就是一个Payload,其实这个跟Simple list直接Load就是一样的意思而已,只是Simple list如果汇入的文档很大,会因为画面要显示出来给你看,所以会跑很久,Runtime file没有要显示给你看,所以没这个问题。
Custom iterator
有Position 1~8
攻击payload = position1 + position2 +…….+ position8。
可以看到最终的攻击payload是所设置字典的遍历,最终组合成一个参数。(有点像上边讲的Cluster bomb,但是要注意这里只可以看作Cluster bomb的一个参数)
Character substitution
Character substitution 字符替换的意思,更换输入payload文件中的字符。
假设payload输入abcd,可以看到字符替换的规则有a->4,b->8;
所以暴力破解时送完原始的payload abcd之后。有单独把a换成4,有单独把b换成8,也有两个都换的。
Recursive grep
是从上一次的响应结果中,取得部分特定内容作为下次请求的Payload。
burp抓取tokon爆破
Illegal Unicode
Character blocks
Character blocks,举例,可以插入很多个A(Base string),起始要几个(Min length),每次增加(Step)多少个A,到多少个要停止(Max length),通常比较适用在测试overflow。
Number
Number测试数字,这个也算是实际工作上很常用到的,可以设定起始多少到结尾多少,间隔多少数字,
也可以选择十进制与Hex,还有是否要小数点。
Datas
如其名,就是用来测时间日期格式的Payload。
Brute Force
Brute Force是纯粹的暴力破解,这个其实算是我除了Simple与Number以外,可能比较常用到的之一,Payload的产生方式就是Character set中的所有字符排列组合都会试过,那也可以设定最小的长度与最大的长度,不过要注意就是Brute Force很容易一不小心Payload数量就超多的。
Null payloads
Null payloads 其实就是重复同样的原始请求,没有进行修改,你可能会好奇这样有什么意义?! 那这个就是等到你遇到需要的场景就会知道意义了,通常可能是做观察与搜集数据的时候用,比如要确认一直重复发起一样的请求,是否服务器都会给一样的响应。
Character frobber
Character frobber 会按照顺序去递增每个字符的一个ASCII,感觉这个有点冷门,好像其实是满实用的,用途主要应该是用来确认token的每个字符是否有作用。
Bit flipper
Username generator
用户名生成。
ECB block shuffler
ECB block shuffler 牵扯到加密模式,先不管他。
Payload下还有两个区块,必须要提一下,姑且不管你有没有要用的,至少先知道。
Payload Processing
是也可以对发出去的Payload进行加工处理,例如可以加入前缀、后缀字符、只截取字符串的某一部分等;后缀常见的可能像是Email结尾的字符,比如@gmail.com之类的。
可以利用match替换,可以反转,可以编码,许多方法可以选择。
Payload Encoding
最下面的Payload Encoding,这边则是勾选的话,Payload如果有match的characters就会进行URL-encode。