验证码不过期漏洞-加固方法(java)

admin 2022年11月30日10:05:36评论26 views字数 1068阅读3分33秒阅读模式

关于验证码不过期漏洞修补方法


漏洞描述

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

攻击手法

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

验证码不过期漏洞-加固方法(java)

代码分析

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

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

验证码不过期漏洞-加固方法(java)

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");

验证码不过期漏洞-加固方法(java)

注意

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

requests域销毁代码为:

如有侵权,请联系删除

推荐阅读

实战|记一次奇妙的文件上传getshell
「 超详细 | 分享 」手把手教你如何进行内网渗透
神兵利器 | siusiu-渗透工具管理套件
一款功能全面的XSS扫描器
实战 | 一次利用哥斯拉马绕过宝塔waf
BurpCrypto: 万能网站密码爆破测试工具
快速筛选真实IP并整理为C段 -- 棱眼
自动探测端口顺便爆破工具t14m4t
渗透工具|无状态子域名爆破工具(1秒扫160万个子域)

查看更多精彩内容,还请关注橘猫学安全:
每日坚持学习与分享,觉得文章对你有帮助可在底部给点个“再看

原文始发于微信公众号(橘猫学安全):验证码不过期漏洞-加固方法(java)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月30日10:05:36
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   验证码不过期漏洞-加固方法(java)http://cn-sec.com/archives/1434306.html

发表评论

匿名网友 填写信息