JAVA代码审计3·某XXX博客系统
2023-10-2 09:7:2 Author: www.freebuf.com(查看原文) 阅读量:12 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

免责声明


本文章中演示的漏洞带有一定攻击性,仅供安全研究与学习之用,风险自负!

传播、利用本文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢

0x01 概述

博客系统的主要技术为SpringBoot 、MyBatis和Thymeleaf等组成,项目结构是传统的三层模式(控制器、模型、页面)。

1696159448_651956d80266a2eb8224f.png!small?1696159448200

0x02 管理员账号注册绕过漏洞

系统内未内置账号,第一次登录系统时会强制跳转到 http://localhost:8091/install,注册管理员账号。

1696159703_651957d775d6be4d1da58.png!small?1696159703619

注册账号后,通过访问后台地址成功登录系统。

1696159799_65195837316ef443e006c.png!small?1696159799399

再次访问http://localhost:8091/install页面时,显示已经注册过,请直接登录。

1696159951_651958cf3b3f10a837c9a.png!small?1696159951340

系统未使用权限框架进行登录验证,而是通过自定义拦截器的方式进行权限验证,在拦截器的配置代码中可以看到“/install”和“/install/execute”都是排除在拦截之外。

1696160020_6519591421398049935da.png!small?1696160020446

在“/install/execute”路径的代码中,未发现要求验证访问者权限的代码,可以通过够造数据包的方式访问。

1696160263_65195a075a9b1c5887b0c.png!small?1696160263739

通过补齐参数构造数据包后成功访问,添加新用户test 。

1696160453_65195ac54972a20fbb34c.png!small?1696160453420

1696160474_65195adae5a6ce49444c0.png!small?1696160475143

使用新添加的test账号成功登录后台。

1696160592_65195b502b285319127d1.png!small?1696160592434

0x03 存储型XSS漏洞

使用管理员登录后台,在博客设置/其他设置中统计代码中填入payload:<script>alert('xss')</script>。

1696172784_65198af06e9407ef9dfd7.png!small?1696172784724

首页成功弹窗,JS代码正常执行。

1696172879_65198b4f2444695d3d23f.png!small?1696172879346

在源码中footer.html页面,代码中使用了th:utext来显示,在thymeleaf中utext会解析html标签,对XSS没有过滤效果。

1696172977_65198bb198adeb7fd0fc8.png!small?1696172977832


文章来源: https://www.freebuf.com/vuls/379705.html
如有侵权请联系:admin#unsafe.sh