Brute Force
"Brute Force"(暴力破解)指的是一种通过尝试所有可能的组合来获取访问、解密或破解信息的攻击方法。这种攻击方法通常是基于暴力和不断尝试的,不依赖漏洞或弱点。通常用于破解密码、破坏系统或获取未经授权的访问权限。
Low
界面如下:

我们来看一下源码,这段代码使用了MD5进行密码哈希,极易破解。且将用户的输入(user passwd)直接插入到SQL查询中

随意输入,

打开burpsuite进行抓包

可以看出账户、密码的内容都是以明文的方式进行传输。
请求中的cookie包括" PHPSESSID"未进行加密,且没有任何身份验证机制。
所以我们可以进行各种用户名和密码的组合。
接下来在bp的中Intruder,我们选中需要爆破的内容,然后添加(这里只选中passwd)

我们加载一个txt文件,里面包含常见的弱口令 , 然后开始攻击

在爆破完成之后,我们需要确定哪一个是真正的用户名和密码,此时会有一个payload的长度异于其他payload, 我们用这个进行验证

验证 成功

Medium
medium的源码相较于low,分别对用户名和密码进行查询,在登陆失败后会执行sleep(2)函数休眠两秒,在这两秒内无法继续再尝试登陆,
和low中的操作相似,只不过等待时间会稍久一些。

High
在high的等级中,相较于medium,除了sleep随机在0-3秒,重点在于增加了对令牌的验证

所以我们要爆破的类型是交叉-多个payload集:可以指定多个有效载荷集合。每个有效载荷集合包含一组有效载荷,这些有效载荷将与其他集合中的有效载荷进行组合。
内容是 密码 + token 将其添加payload

在开始之前,设置一下,便于我们的请求中提取到token,以便为每个密码找到对应的token

在设置中的 检索-提取 > 添加 > 获取响应 双击value 记住这个值

接下来设置载荷 第一个 (这里第一个载荷的设置和low中一样)

第二个载荷设置 (这里的初始payload为之前的value的值)

递归提取载荷不能用多线程,我们将线程设置为1

这个payload长度与其他不同,

