项目结构分析
根据readme可以知道这个是SSM结构。
1 | **技术框架** </br> |
代码审计
XSS审计
全局搜索XSS,发现没有什么过滤器。
猜测大概率存在XSS漏洞。这里随便去后台加一手信息。
验证了XSS漏洞的存在。同时应该还有很多写数据的功能都存在XSS漏洞。
SQL注入
因为已经知道了是用的mybatis
。所以全局搜索$
符号,发现在MsgSystemMapper里面有一句话。
追踪溯源,发现是为了删除系统信息。
从控制层AdminMsgSystemController开始,到业务层和dao层,都没有发现对参数ids进行校验。可以确定有漏洞。
进入后台找到系统信息,删除系统信息列表。删除一个测试的消息内容,进行抓包。
添加payload:
1 | ids=2 and sleep(2) |
同时使用sqlmap也验证了一手
越权漏洞
在UserController里面可以看到updateuserInfo方法
貌似这里并没有做什么校验,而是直接带入了servicer层和dao层。
在xml里面也只有简单的
但是不排除会有mybatis的额外保护机制,所以复现一下为好。
将userid改为4,发包后去数据库中查看4的数据。
验证成功。
同时在管理员的密码修改界面,也能修改其他管理员账户的密码。