一、什么是暴力破解
暴力破解(Brute force attack)通常被用来指尝试所有可能的密码组合来破解加密数据或系统的一种攻击方法。尽管在某些合法情况下可能会使用暴力破解技术(例如在渗透测试中),但这种方法通常被认为是不道德和非法的,因为它侵犯了个人隐私和系统安全。
二、什么是无验证码的暴力破解
又称基于表单的暴力破解,登录界面只有输入用户名和密码等其他信息,没有让我们输入验证码的登录。
三、为什么需要暴力破解
1. 渗透测试与安全审计:组织可能会雇佣专业人员,通过模拟攻击的方式测试其系统的安全性。在法律允许的情况下,渗透测试师可能会使用暴力破解来评估密码强度及系统的防御能力。
2.密码学研究:密码学领域的研究人员可能会使用暴力破解来分析不同密码算法的强度及其对抗攻击的能力。
3.法律执法:在调查和取证过程中,执法机构有时可能会需要获取加密数据的访问,这可能涉及法院授权的技术手段,包括暴力破解。
4. 密码恢复:在某些情况下,个人可能忘记了自己的密码,但又需要访问加密数据。这种情况下,合法拥有者可能会使用暴力破解来尝试恢复自己的访问权限。
尽管在上述情况下可能会存在合法和正当的需求,但需要强调的是,在未经授权的情况下使用暴力破解是非法和不道德的。这种攻击方式可能会对个人隐私、数据安全和网络基础设施造成严重威胁,因此应该谨慎使用,并且仅限于合法且授权的情况下。
四、如何进行无验证码情况下的暴力破解
实验环境及工具
pikachu靶场+Burpsuite+Phpstudy
实验过程
1、打开Phpstudy
千万要记得点击启动
2、查看本机的IP地址
WIN+R,输入cmd打开命令提示符,输入ipconfig(针对Windows系统)
3、进入pikachu靶场
在浏览器中搜索IP/pikachu-master/install.php
点击安装/初始化
点击暴力破解,做基于表单的暴力破解
4、随便输入用户名和密码
5、打开代理功能
打开"网络和Internet"设置,找到代理
记得点击保存哦!
6、打开BP,点击Login
可以从拦截到的信息中发现,刚刚输入的用户名为uyhi,密码为74123
7、在此界面,点击右键,send to intruder
8、设置变量
点击position,将我们要匹配的用户名和密码设置为变量,并把攻击类型改为cluster bomb,以支持多个变量(如果我们已知正确的用户名或密码,都可将另一个设置成变量,后续匹配)
9、导入数字库
点击payloads,并将用户名库和密码库导入
Ps:在此步骤之前,我们要制作两个库,一个为用户名库,一个为密码库,现实中我们不知道用户名和密码,我们就需要强大的字典库,但是我们现在为了演示效果,我们是知道正确的用户名和密码的,所以我们必须把正确的用户名和密码加入库中
10、开始攻击
点击Send attach,开始攻击
找到长度与大部分长度不同的信息对应的用户名和密码
原理:根据输入正确和错误用户名和密码,服务器返回的长度不同,我们可以得知,在爆破时,正确的用户名和密码的数量一般是少于错误的返回结果的数量的,所以我们找Length下数量更少的长度,就像上述中,错误的有100多条,而正确的只有三条,即长度为35052的,而其所对应的用户名和密码为正确的可以登录的用户名和密码。
五、如何防御暴力破解
1、设置带验证码的登录界面
2、尽可能的设置复杂的密码,至少要设置强密码(即特殊符号、大写字母、小写字符、数字组成的长密码)