Burpsuite密码爆破

顺便记一下,免得后面到处翻

Burpsuite密码爆破

虽然不知道这个网站是那位大佬总结建立的,但还是很感谢,节省很多时间,这个网站提供了很全面的密码表

https://www.somd5.com/download/dict/

之前在学习burpsuite的时候,大部分时间在用proxy和request,一直想用intruder,在做功防世界weak_auth这道题时,需要用字典爆破

于是我便了解了一下这个功能

在intruder下,主要看payload

payload Sets主要用Simple list和Brute forcer

payload

1.Simple list

主要就是讲写好的密码列表挨个进行测试,试出可以正确登录的密码

image-20220624165348786

2.Brute forcer

就比较暴力,可以从下图看到Requset count有8,398,080次,因为他是把下面Character set里的所以字符的排列组合都试了,简单粗暴,也非常耗时间

image-20220624165405777

这里以一次爆破为例,可以看到下方有两个§ §,这两处就是payload输入点,我们输入爆破数据就不断在这两处上传测试

image-20220624170325792

如果我们已经知道了一处的数据,比如下方的username为admin,就不用用测试数据爆破,只用在password处爆破

image-20220624170753675

那么爆破完后,如何分辨哪个才是正确密码呢

主要分析length,如果出现与大部分length不同的密码,那么大概率就是正确密码,比如此处, 123456就是正确密码

image-20220624170455916

3.Numbers

image-20220626083426611

纯数字型爆破,From是开始数字,To是结束数字,Step是间隔多少数字爆破一次

4.Runtime file

选择自己的字典文件

5.Custom iterator

(可以自定义拼接字段,比如username:password,这样爆破的两列数据被:隔开进行爆破)

自定义迭代器。这种负载类型,可以配置项目的多个列表,并使用生成的列表中项的所有排列有效载荷。它提供了一个强有力的方法根据给定的模板,以产生字符或其他项目的定制排列。

6.Character substitution

字符替换。此负载类型允许您配置一个字符串列表,并应用各种字符替换到每个项目。这可能是在密码猜测攻击非常有用,用来产生在字典中的单词常见的变化。

7.Case modification

此负载类型允许配置一个字符串列表,并应用各种情况下修改每个项目。这可能对密码猜测攻击非常有用,用来产生在字典中的单词的情况下的变化。

8.Recursivegrep

递归grep,要用这个必须在Intruder>options>Grep-extract下添加一个响应匹配,比如说我一个请求页需要前一个响应页中的内容,这里就可以这样使用了。

9.Dates

时间、日期

10.Null payloads

这种攻击载荷产生有效载荷,其值是一个空字符串。当某种攻击请求需要反复发送同样的请求,但这种请求相对于基本请求是没有任何修改,这种攻击载荷产生有效载荷,这可用于各种攻击,例如采集 cookies来进行测序分析;应用层的拒绝服务攻击,这些请求被重复发送,导致服务器上产生高工作负荷的任务,或保活会话令牌,以便这些令牌在其它的间歇试验中使用。使用此载荷类型,它甚至没有必要在请求模板中标志有效载荷位置。您可以配置Burp产生一定特定数目的空有效载荷,或无限期地持续下去。当然我们也可以使用数字、日期等其他方式产生大量的连接,导致服务器的负载过高。

Attack type(爆破方式)

image-20220710224734912

1.Sniper

这个是我们最常用的,Sniper是狙击手的意思。这个模式会使用单一的payload【就是导入字典的payload】组。它会针对每个position中$$位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行测试。攻击中的请求总数应该是position数量和payload数量的乘积。

2.Battering ram

这一模式是使用单一的payload组。它会重复payload并且一次把所有相同的payload放入指定的位置中。这种攻击适合那种需要在请求中把相同的输入放到多个位置的情况。请求的总数是payload组中payload的总数。简单说就是一个playload字典同时应用到多个position中。

3.Pitchfork

这一模式是使用多个payload组。对于定义的位置可以使用不同的payload组。攻击会同步迭代所有的payload组,把payload放入每个定义的位置中。比如:position中A处有a字典,B处有b字典,则a【1】将会对应b【1】进行attack处理,这种攻击类型非常适合那种不同位置中需要插入不同但相关的输入的情况。请求的数量应该是最小的payload组中的payload数量。

4.Cluster bomb

这种模式会使用多个payload组。每个定义的位置中有不同的payload组。攻击会迭代每个payload组,每种payload组合都会被测试一遍。比如:position中A处有a字典,B处有b字典,则两个字典将会循环搭配组合进行attack处理这种攻击适用于那种位置中需要不同且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。(即可以在用户名和密码两处用两个字典爆破)