验证码不过期漏洞-加固方法(java)
2022-11-30 00:5:12 Author: 橘猫学安全(查看原文) 阅读量:17 收藏

漏洞描述

验证码不过期,没有及时销毁会话导致同一验证码反复可用

攻击手法

利用burp一直重放进行测试,验证码不更新。如果一直不更新验证码,会导致攻击者一直枚举账号密码,直到成功为止。

代码分析

一般验证码都是利用session来存储当前验证码,前端from标签提交验证码到后,servlet会利用当前session存的验证码于用户输入的验证码进行对比。

request.getSession().setAttribute("CHECKCODE_SERVER",checkCode);

servlet进行校验

//2.获取数据 String verifycode = request.getParameter("verifycode"); String checkcode_server = (String)request.getSession().getAttribute("CHECKCODE_SERVER");
//进行验证码校验 if (!verifycode.equalsIgnoreCase(checkcode_server)){ //验证码错误 request.setAttribute("checkimgerror","验证码错误"); request.getRequestDispatcher("/login.jsp").forward(request,response); return;        }

因为在校验后,没有将session域共享中验证码删除,所以导致会话一直被利用。

加固方法

在获取session域中储存后,直接将验证码销毁即可

//销毁        request.getSession().removeAttribute("CHECKCODE_SERVER");

注意

要分清楚你是用seesion共享域还是requests共享域

requests域销毁代码为:

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell
「 超详细 | 分享 」手把手教你如何进行内网渗透
神兵利器 | siusiu-渗透工具管理套件
一款功能全面的XSS扫描器
实战 | 一次利用哥斯拉马绕过宝塔waf
BurpCrypto: 万能网站密码爆破测试工具
快速筛选真实IP并整理为C段 -- 棱眼
自动探测端口顺便爆破工具t14m4t
渗透工具|无状态子域名爆破工具(1秒扫160万个子域)
查看更多精彩内容,还请关注橘猫学安全:
每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5OTY2NjUxMw==&mid=2247501146&idx=2&sn=6aa8e726ef71df04c54c2378294b2956&chksm=c04d4264f73acb72d3055aeb94c282794e9e91fafc69ae1ccaa781d6d8601c11206daffb752a#rd
如有侵权请联系:admin#unsafe.sh