pikachu漏洞练习第一章节验证码绕过onclient,onserver练习收获

练习部分

验证码的作用:防止登录暴力破解,防止机器恶意注册。

验证码的认证流程:客户端request登录页面,后台生成验证码;把输入的验证码进行校验;客户端重新刷新页面,再次生成新的验证码。

验证码绕过on client

首先进入pikachu靶场第一章节验证码绕过(onclient),在网站中随意输入账号密码进行测试。

可见分别选择不输入验证码,输入错误的验证码,输入正确验证码但用户密码错误的三种情况中,网页弹出的提示分别不同。

打开brupsite利用proxy抓包,可以看到相比之前无验证码的登录方式,现在在请求中多了验证码的数据。

在pikachu网页右键选择查看网页的源代码

### Pikachu验证码绕过技术分析 #### 前端验证绕过 (On Client) 对于前端验证机制,在某些情况下,验证码的校验逻辑可能完全位于客户端浏览器内。当尝试登录并故意输入错误验证码时,如果观察到仅触发JavaScript警告而未向服务器发出任何请求,则表明验证码校验发生在前端[^3]。 在这种场景下,可以通过禁用JavaScript或修改DOM来规避此限制。具体操作如下: 1. 使用开发者工具(如Chrome DevTools)中的Network标签监控HTTP流量; 2. 发现即使提交表单也不会真正发送POST请求给服务端; 3. 这意味着可以在本地环境中篡改HTML/JS代码,移除或调整验证码检验部分。 ```javascript // 修改后的JavaScript函数,总是返回true跳过实际验证过程 function checkCaptcha() { return true; } ``` #### 后端验证失效利用 (On Server) 针对后端处理不当的情况,存在几种常见的弱点可加以利用: - **验证码永不过期**:一旦获取有效验证码即可无限次重试直至成功登陆。 如果注意到尽管页面上的图形已更新但先前版本仍能通过验证,则证明该站点未能妥善管理会话状态下的CAPTCHA时效性[^4]。 - **缺乏严格的二次确认流程**:即允许同一份图像多次参与身份认证而不做额外检查。 当遇到这种情况时,攻击者能够记录下合法响应包并通过Burp Suite等代理软件批量投递伪造的数据流实施字典攻击[^5]。 - **模式识别风险**:过于简单的字符组合加上固定的生成算法使得机器学习模型易于训练从而预测下一个可能出现的结果序列[^2]。 为了防止上述漏洞的发生,开发人员应当确保每次展示新的随机数列的同时也要同步销毁之前存在的实例,并且引入时间戳或其他动态因素增加复杂度降低被攻破的概率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值