0x00 前言
代码审计的系统为某计费系统,本着学习交流的态度对本系统进行了审计,在审计过程中发现了诸多安全问题,本文在此列出几项比较经典的漏洞。在此感谢花茶安全团队的天堂空气提供的源码。
0x01 XSS漏洞
在路由userdatachange中存在XSS漏洞,此路由为用户资料修改页面,在此路由中,并不存在XSS漏洞,原因是该系统存在XSS过滤器,但是并不会影响我们保存在数据库中的数据,此XSS代码会在其他地方被触发,造成二阶XSS漏洞。
首先我们来到userdatachange路由,在进入了该userDataChange()函数后,首先会进行登录判断,随后对相关的用户权限和用户信息进行校检,校检通过后进行下面流程。
接下来函数会把我们提交过来的数据进行赋值处理,这里调用了UserDataChangeReq这个接口类的数据,在赋完值后,进行后面处理
在处理完提交过来的数据后,将会调用接口commonService中的updata()这个函数把数据存入数据库中去,可以看到,这些地方没有对数据进行过滤处理,直接把原数据存入数据库
此XSS的触发点为后台某功能处,下面来看下
在后台路由/user/operator中,函数前面还是先对相关的登录用户