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长度与其他不同,