基于服务器验证的暴力破解、绕过验证码的暴力破解

avatar
作者
猴君
阅读量:0

一、什么是暴力破解


暴力破解(Brute force attack)通常被用来指尝试所有可能的密码组合来破解加密数据或系统的一种攻击方法。尽管在某些合法情况下可能会使用暴力破解技术(例如在渗透测试中),但这种方法通常被认为是不道德和非法的,因为它侵犯了个人隐私和系统安全。


二、什么是基于服务器验证的暴力破解


登录界面只有输入用户名和密码等其他信息,还有让我们输入验证码的登录,且验证码的正确错误验证是服务器验证的。

三、为什么需要暴力破解


1. 渗透测试与安全审计:组织可能会雇佣专业人员,通过模拟攻击的方式测试其系统的安全性。在法律允许的情况下,渗透测试师可能会使用暴力破解来评估密码强度及系统的防御能力。
2.密码学研究:密码学领域的研究人员可能会使用暴力破解来分析不同密码算法的强度及其对抗攻击的能力。
3.法律执法:在调查和取证过程中,执法机构有时可能会需要获取加密数据的访问,这可能涉及法院授权的技术手段,包括暴力破解。
4. 密码恢复:在某些情况下,个人可能忘记了自己的密码,但又需要访问加密数据。这种情况下,合法拥有者可能会使用暴力破解来尝试恢复自己的访问权限。
尽管在上述情况下可能会存在合法和正当的需求,但需要强调的是,在未经授权的情况下使用暴力破解是非法和不道德的。这种攻击方式可能会对个人隐私、数据安全和网络基础设施造成严重威胁,因此应该谨慎使用,并且仅限于合法且授权的情况下。

四、如何进行无验证码情况下的暴力破解


实验环境及工具


pikachu靶场+Burpsuite+Phpstudy

实验核心思想

服务器返回用户名、密码、验证码的消息,所以当我们一直在同一个验证码中,不刷新验证码,我们可以基于此验证码,试出正确的用户名和密码。


实验过程


1、打开Phpstudy


千万要记得点击启动

2、判断是何种暴力破解

分别随便输入一个正确的验证码和一个错误的验证码,查看报错信息,如果错误输入验证码返回界面与正确输入验证码的认证方式同一种方式的验证,且不是基于弹窗型的返回,即不是由JAVASCRIPTE编写的弹窗返回方式,则验证码是由服务器认证的,反之则是由客户端认证的。

输入正确验证码但用户名密码不正确的返回提示

用户名密码以及验证码都错误是返回提示

综上:判断出该验证码的认证方式为服务器认证

3、关闭代理

找到“打开网络和Internet设置”,点击代理

4、打开BP,查看拦截到的信息

BP拦截到该网页输入的信息

5、保证验证码不被刷新,测试正确的用户名和密码

原理:我们在同一验证码下(send to Repeater)改变输入的用户名和密码,回应包的报错信息不改变,都是用户名和密码错误

将前面BP拦截到的信息发送给Repeter

先不改变用户名和密码的报错信息,直接点击GO,查看Response的返回信息

再改变用户名和密码的报错信息,改完点击GO,查看Response的返回信息

综上:可以发现,改变用户名和密码与不改变用户名和密码的返回报错信息一样,都是用户名和密码不存在,因此我们可以确定验证码未被刷新。

6、设置变量

设置两个变量,一个是用户名,一个是密码

7、导入用户名库和密码库

8、攻击并得到正确的用户名和密码

点击start attack,查找不同长度对应的用户名和密码

如有哪里看不懂,请参照 博主上一篇博客----基于表单的暴力破解基于表单的暴力破解,每一步的原理写的很详细!

如有错误,欢迎批评指正!!!

喜欢的宝子能不能留下一个点赞呢!!!

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!