美文网首页
BurpSuite-Intruder-Payloads和Opti

BurpSuite-Intruder-Payloads和Opti

作者: 小浪崇礼 | 来源:发表于2020-05-18 18:49 被阅读0次

    Payloads

    1.Simple list(简单列表)

    自定义手工添加,Burpsuite默认列表手工添加,从剪贴板粘贴,从文件中加载

    2.Runtime file(运行时文件)

    直接选择一个文件加载进去即可

    3.Custom iterator(自定义迭代器)

    功能强大,有8个站位,每一个站位可以指定简单列表payload的类型,然后根据站位的多少,和每一个简单列表的payload进行笛卡尔积生成最终的payload,例如:有个参数值类型是username@@@password,那么就要设置3给站位

    4.Character substitution(字符串替换)

    根据预先定义好的字符串替换的规则,在payload执行的过程中按照规则匹配替换

    5.Case modification(大小写替换)

    根据预定义的大小写替换规则,在payload执行的过程中按照规则匹配替换,这期间经过规则生成的新payload是从上到下的顺序,依次是:No change(不改变使用原来的字符串),To lower(转换为小写),To Upper case(转换为大写),To Propername(首字母大写,其他小写),To ProperName(首字母大写,其他不变)

    @6.Recursive grep(递归grep)

    基于服务端响应的数据提取payload,然后使用提取的payload进行攻击,配置payload在options配置

    @7.Illegal Unicode(非法的Unicode编码)

    在进行攻击的时候指定payload里面加入非法的Unicode编码,功能选项不太好理解

    8.Character blocks(字符块)-- 可以理解为字符长度

    根据要求给出的一个字符串,然后指定设置产生指定大小的字符块,最终的结果展示为生成指定长度的字符串,一般用在边界测试或者缓冲区溢出中

    9.Number(数字类型)

    数字范围:根据要求生成序列数字,随机数字

    数字格式:

    十进制:

    Min integer digits -> 最小的整数个数有几个,简单点理解就是小数点前面最少有几位数

    Max integer didits -> 最大的整数个数有几个,简单点理解就是小数点前面最多有几位数

    10.Date(日期类型)

    根据要求生成一序列各种格式的日期

    11.Brute Forcer(暴力破解)

    生成一个包含特定字符集的排列组合,一般都是用来穷尽账号密码用途

    12.Null payloads(空payload)

    在每个请求中添加null,实际查看就是没有更改原始请求重复发送给服务端

    13.Character frobber(字符frobber)

    依次修改字符串中每个字符位置的值,每次都是在原来的字符串上递增一个该字符的ASCII码,通常使用的场景是目标系统使用了负载的会话令牌用来跟踪会话,如果修改了其中单个字符的值,不影响会话的下一步处理

    @14.Bit flipper(Bit翻转)

    对预设的payload原始值按照比特位的形式依次修改

    15.Username generator(用户名生成器)

    主要用于用户名和电子邮件账号的自动生成

    @16.ECB block shuffler(ECB加密块洗牌)

    基于ECB加密模式的Payload生成器

    17.Extension-generated(payload扩展插件生成)

    基于Burp插件来生成Payload值,因此使用前必须安装配置Burp插件,在插件里注册一个Intruder

    payload生成器,供此处调用,这里测试安装的插件是Bradamsa

    18.Copy other payload(复制其他的payload)

    这种类型的Payload是将其他位置的参数复制到Payload位置上,作为新的Payload值,通常适用于多个参数的请求消息中,它的使用场景可能是: 1.两个不同的参数需要使用相同的值,比如说,用户注册时,密码设置会输入两遍,其值也完全一样,可以使用此Payload类型。 2.在一次请求中,一个参数的值是基于另一个参数的值在前端通过脚本来生成的值,可以使用此Payload类型

    狙击手模式(Sniper)

    通过使用一组Payload集合(就是Payload Sets),依次替换Payload位置上(一次攻击只能使用一个Payload位置,从左到右,从上至下)被§标志的文本(而没有被§标志的文本将不受影响),这个一般用在暴力破击账户名不变,不断尝试不同的密码进行破解,一个变量替换完成,再接着替换另一个变量;

    适用场景:账户不变去暴力破解密码

    攻城锤模式(Battering ram)

    通过使用一组Payload集合,依次替换Payload位置上被§标记的文本(而没有被§标志的文本将不受影响),跟Sniper的区别就是如果有多个参数,Sniper模式会单个的去匹配一个参数进行攻击,上一个参数匹配完成之后再进行下一个参数的匹配,顺序是从左到右,从上至下,而Battering ram则会每个参数都同时去匹配

    适用场景:账户和密码是相同的情况下

    草叉模式(Pitchfork)

    使用多种不同的Payload集合,在每一个不同的Payload标记位置上(最多20个),依次尝试每个Payload

    具体看下的例子:

    Positions:标记了两个参数,模式就是Pitchfork

    Payloads:Payload Sets 有两个,每个都选择Simple list

    第一个Payload set 也就是数字 1 对应的Simple list 是0-10的数字

    第二个Payload set 也就是数字 2 对应的Simple list 是a-z的数字

    那么最终结果如下:

    攻击的结果会依次匹配填充到上面Positions设置好的参数的位置,分别为0 a , 1 b , 2 c 等等这类依次匹配,当第一个Payload set匹配完成了那么就停止了,第二个Payload set剩下的就不会再匹配了

    适用场景:账户和密码是依依对应的情况下

    集束炸弹模式(Cluster bomb)

    同样是使用多种不同的Payload集合,在每一个不同的Payload标记位置上(最多20个),尝试每个Payload,它和Pitchfork主要区别就是在攻击的时候匹配Positions设置好的参数位置,不是依次一一对应的,是尝试各种可能的情形

    例如想上面Pitchfork的例子:

    攻击的结果最终如下:

    0 a,0 b,0 c,0 d ...... 1 a,1 b,1 c,1 d ......

    适用场景:多个账户多个密码进行穷举

    Options

    请求头(Request Headers)

    Update Content-Length header -- 保证burpsuite在每次攻击的时候它的Content-Length是正确的

    Set Connection: close - 保证burpsuite在每次攻击的时候它的每次请求连接是close,这样速度更快

    上面两个参数默认就是勾选的,日常测试的过程中也是需要的

    请求引擎设置(Request Engine)

    Number of threads -- 设置并发线程数

    Number of retries on network failure -- 网络连接失败重试的次数

    Pause before retry (milliseconds) -- 重试之前时间的间隔是多少毫秒

    Throttle(milliseconds) -- 请求延时 Fixed是直接指定每次攻击的延时时间 Variable 指定每次延时的一个随机时间间隔

    Start time -- Immediately 立即发起攻击,in 多少分钟后开始攻击,Paused 开始攻击的时候先暂停

    Grep Match (grep匹配响应信息中的关键字,打对勾)

    主要是用来从服务端响应的信息中匹配攻击者设置好的关键字,如果匹配了,那么就在攻击的结果中添加新列并标明,这里最终的显示结果是新增的列下面每个攻击请求有个复选框,如果匹配上了就会打勾,否则就没有

    Grep Extract(grep提取响应信息中的关键字,每行都显示)

    用来从服务端响应的信息提取攻击者设置好的关键字信息,并且将有用的信息显示在每次攻击的请求列中显示,前提是有设置好的关键字,否则显示为空

    Grep Payloads(提取响应信息中包含攻击时的payload的关键字)

    提取服务端响应的信息中是否包含Payload值

    PS:注意的是Match against pre-URL-encoded payloads,如果你在请求消息时配置了 URL-encode payloads 则这里表示匹配未编码之前的Payload值,而不是转码后的值。

    Redirections(重定向)

    根据实际测试情况判断在攻击测试的时候是否需要重定向。

    相关文章

      网友评论

          本文标题:BurpSuite-Intruder-Payloads和Opti

          本文链接:https://www.haomeiwen.com/subject/niepohtx.html