JAVA代码审计3·某XXX博客系统
aboood
- 关注
JAVA代码审计3·某XXX博客系统

免责声明
本文章中演示的漏洞带有一定攻击性,仅供安全研究与学习之用,风险自负!
传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢
0x01 概述
博客系统的主要技术为SpringBoot 、MyBatis和Thymeleaf等组成,项目结构是传统的三层模式(控制器、模型、页面)。
0x02 管理员账号注册绕过漏洞
系统内未内置账号,第一次登录系统时会强制跳转到 http://localhost:8091/install,注册管理员账号。
注册账号后,通过访问后台地址成功登录系统。
再次访问http://localhost:8091/install页面时,显示已经注册过,请直接登录。
系统未使用权限框架进行登录验证,而是通过自定义拦截器的方式进行权限验证,在拦截器的配置代码中可以看到“/install”和“/install/execute”都是排除在拦截之外。
在“/install/execute”路径的代码中,未发现要求验证访问者权限的代码,可以通过够造数据包的方式访问。
通过补齐参数构造数据包后成功访问,添加新用户test 。
使用新添加的test账号成功登录后台。
0x03 存储型XSS漏洞
使用管理员登录后台,在博客设置/其他设置中统计代码中填入payload:<script>alert('xss')</script>。
首页成功弹窗,JS代码正常执行。
在源码中footer.html页面,代码中使用了th:utext来显示,在thymeleaf中utext会解析html标签,对XSS没有过滤效果。
本文为 aboood 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
企业安全测试分享 | 如何通过python模拟前端加密登录
2023-10-27
JAVA代码审计2 · 某XXX网络考试系统
2023-09-18
JAVA代码审计1 · pb-cms(瀑布内容管理系统)
2023-09-13
文章目录