Java代码审计 | 某电商系统 漏洞分析

2025-03-16 1 0

存在漏洞情况1.水平越权
2.订单状态修改
3.任意文件上传
4.xss漏洞

一、说明

starsea-mall 项目是一套电商系统,包括 starsea-mall 商城前台系统及商城后台系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页登录、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。
项目地址https://github.com/StarSea99/starsea-mall

二、项目搭建

下载源码,使用idea导入

创建相应的数据库,更改配置信息

项目访问地址如下: 后台地址: http://127.0.0.1:8080

三、组件漏洞审计

我们对系统的组件先进行统计看看有没有历史漏洞

组件名称

组件版本

是否存在漏洞

mybatis

2.1.3

不存在

springfox-swagger2

2.7.0

不存在

springfox-swagger-ui

2.7.0

不存在

commons-fileupload

1.6

不存在

没有发现组件存在漏洞

四、单点漏洞审计

1.水平越权

我们在更改信息的时候发现数据包参数有id值,于是就尝试修改了一下id值看看能不能接管其他id的账户

这是我们直接抓的默认数据包

我们直接将userId值改一下,我们从数据库看到的这些值

将userid改为1发现成功接管了它的账户

我们从代码方面进行分析

跟踪这个接口的路由/personal/updateInfo

传进来的参数为用户信息和用户的身份验证,之后调用了updateUserInfo这个方法

我们跟踪一下updateUserInfo这个方法

继续跟

此方法首先从HTTP会话中获取当前用户的临时信息,然后根据提供的新信息更新数据库中的用户信息

更新成功后,将新的用户信息更新到HTTP会话中

主要是这部分存在漏洞缺陷,它只判断了用户id是否存在在数据库中,却不校验是不是我们登录用户的这个id值,这样我们就可以通过修改id值去接管该id值的用户了。

2.订单状态修改

我们从数据库中可以看到支付状态的校验仅仅只用0和1来判断

我们正常支付抓一下支付成功的数据包

跟踪一下/paySuccess这个路径

发现它只根据订单号和支付状态去判断,所以我们这里只要修改一下支付状态就可以进行支付绕过了

我们验证一下

这是一个未支付的订单号,我们改一下数据包发送看看可以成功吗

发现确实存在该逻辑漏洞

3.任意文件上传

上传图片进行抓包

修改后缀看可不可以上传

发现可以上传说明存在任意文件上传漏洞

我们进入代码层面看看

跟踪路径/upload/file

发现这段代码并没有对文件后缀校验,但我们前端不能直接上传jsp类的特殊文件,说明该系统的文件上传过滤仅仅只是前端过滤。所以我们可以进行抓数据包修改来绕过

4.xss漏洞

我们在修改商品信息的参数中发现xss漏洞

我们去代码层面分析一下

定位到该路径/admin/goods/update

发现这里没有进行任何过滤,就直接执行了data里面的信息,我们也没有在拦截器和过滤器里面发现关于xss漏洞的过滤情况,所以存在xss漏洞。


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

某Java电商系统代码审计
生成式AI红队测试:如何有效评估大语言模型 | CSO在线
新型MassJacker剪贴板恶意软件,捆绑在盗版软件中偷窃加密货币钱包
朝鲜APT组织ScarCruft使用新型Android间谍软件KoSpy瞄准韩语和英语用户
成功破解加密机制,研究人员解锁LinuxESXi Akira勒索软件
新型XCSSET恶意软件利用增强混淆技术攻击macOS用户

发布评论