环境搭建
源码:https://www.ujcms.com/uploads/jspxcms-9.0.0-release-src.zip
下载之后解压
然后用idea导入
先创建数据库导入数据库文件
然后导入源码
然后配置好数据库连接
加载maven依赖
根据本地数据库版本情况 记得调整数据库依赖版本
然后启动
后台地址:http://127.0.0.1:8080/cmscp/index.do
因为刚开始代码也那么多就没有直接看代码 先熟悉熟悉有什么功能点
XSS
随便进入了一篇文章 然后评论
这里发现是没有xss的
但是后面来到“我的空间”
点击评论的时候
这里触发了xss
这里相当于是黑盒摸到的 单既然是审计 就要从代码来看 重新回到评论的地方 评论进行抓包 看看请求的路径是什么 先找到入口
然后回到idea搜索comment_submit
然后在这里打上断点
然后一步一步放
跟进submit
主要是看传进来的text的走向
到这里text的值都没有变化
然后来到最下面这里是save操作
这里也是直接进行存储 说明存入的时候是没有进行过滤的 那最开始没弹 肯定就是输入的问题了 因为摸到弹的情况
直接根据弹的情况来分析为什么回弹 先找到弹的页面的代码 因为路径有一个space 所以搜索space
打上断点 进行调试
这里最后返回了一个模板
发现这个是一个html 搜索这个html
通过pom.xml
是freemarker模板
先搜搜这玩意是咋转义的
看到一个熟悉的
这个页面这里有填写这个 但是最终还是弹了 说明有漏网之鱼的页面
通过查找 发现一个没有写这个的页面
搜索 看看哪里用到了这俩
刚还这里的type=comment对应上之前访问时候的type
所以访问这个页面的时候能触发xss payload没有进行任何过滤 这个页面也没有进行转义