【JSP代码审计】从代码审计的角度看系统接口的安全性

本文从代码审计的角度分析了一个计费系统的安全性,揭示了包括XSS漏洞、用户名枚举、未授权文件下载、任意用户密码读取、任意文件上传和RCE漏洞在内的多个安全问题。这些问题存在于系统的不同功能模块,如用户资料修改、账户查询、文件下载、密码验证和文件上传等。审计指出,虽然常规用户交互有安全校验,但接口调用的安全防护不足,提示开发者重视接口安全。
摘要由CSDN通过智能技术生成

0x00 前言

代码审计的系统为某计费系统,本着学习交流的态度对本系统进行了审计,在审计过程中发现了诸多安全问题,本文在此列出几项比较经典的漏洞。在此感谢花茶安全团队的天堂空气提供的源码。

0x01 XSS漏洞

在路由userdatachange中存在XSS漏洞,此路由为用户资料修改页面,在此路由中,并不存在XSS漏洞,原因是该系统存在XSS过滤器,但是并不会影响我们保存在数据库中的数据,此XSS代码会在其他地方被触发,造成二阶XSS漏洞。

首先我们来到userdatachange路由,在进入了该userDataChange()函数后,首先会进行登录判断,随后对相关的用户权限和用户信息进行校检,校检通过后进行下面流程。

接下来函数会把我们提交过来的数据进行赋值处理,这里调用了UserDataChangeReq这个接口类的数据,在赋完值后,进行后面处理

在处理完提交过来的数据后,将会调用接口commonService中的updata()这个函数把数据存入数据库中去,可以看到,这些地方没有对数据进行过滤处理,直接把原数据存入数据库

此XSS的触发点为后台某功能处,下面来看下

在后台路由/user/operator中,函数前面还是先对相关的登录用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值