JAVA代审之crmeb_java

admin 2025年6月7日14:29:00评论4 views字数 2617阅读8分43秒阅读模式
JAVA代审之crmeb_java
JAVA代审之crmeb_java

点击上方蓝字·关注我们

免责声明
JAVA代审之crmeb_java

由于传播、利用本公众号菜狗安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号菜狗安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,会立即删除并致歉。

前言
JAVA代审之crmeb_java
本篇文章首发在先知社区,作者C@ig0 (本人)  先知社区名称:caigo 转载原文链接为:https://xz.aliyun.com/news/16963
文章目录
JAVA代审之crmeb_java
项目介绍环境搭建漏洞挖掘    多处SQL注入        第一处        第二处    XXE    SSRF(未成功)    XSS(未成功)    druid未授权    swagger未授权最后

项目介绍

Java商城 免费 开源 CRMEB商城JAVA版,SpringBoot + Maven + Swagger + Mybatis Plus + Redis + Uniapp +Vue+elementUI 包含移动端、小程序、PC后台、Api接口;有产品、用户、购物车、订单、积分、优惠券、营销、余额、权限、角色、系统设置、组合数据、可拖拉拽的form表单等模块,大量的减少了二开的成本。

环境搭建

项目地址:

https://gitee.com/ZhongBangKeJi/crmeb_java/archive/refs/tags/v1.3.4.zip

官方安装手册:

 https://doc.crmeb.com/java/crmeb_java/2211

源码下载到本地后,等待maven加载

加载完成后,可以使用下面命令验证

mvn clean install

JAVA代审之crmeb_java

修改数据库配置信息

配置文件目录:

crmeb_java-v1.3.4crmebcrmeb-adminsrcmainesourcesapplication.yml

JAVA代审之crmeb_java

创建对应数据库,并且导入sql文件

 sql文件:crmeb_java-v1.3.4crmebsqlCrmeb_1.3.4.sql

JAVA代审之crmeb_java

然后启动项目

访问:http://127.0.0.1:8080/doc.html

出现下面页面,后端启动成功

JAVA代审之crmeb_java

然后启动前端

先看下配置对应后台是否对应

配置文件:

crmeb_java-v1.3.4admin.env.development

JAVA代审之crmeb_java

接着cd到/admin目录下,执行npm install

项目依赖安装好后,执行npm run dev

JAVA代审之crmeb_java

访问对应地址,出现下面页面就搭建成功了

JAVA代审之crmeb_java

后台账户:admin/123456

漏洞挖掘

多处SQL注入

查看sql使用api

JAVA代审之crmeb_java

是mybatis,全局搜索${

JAVA代审之crmeb_java

有不少,这里随便点个

第一处

文件:src/main/resources/mapper/store/StoreOrderMapper.xml

跳转getRefundPrice方法

JAVA代审之crmeb_java

查看调用

JAVA代审之crmeb_java

关注where

JAVA代审之crmeb_java

在212行给where给了个默认值,关注下面的if条件,因为有where的赋值操作

分别是dateLimit.getStartTime() | request.getKeywords() | request.getStoreId()

这里其实我们可以优先看%%的,演示我们就一个个看了,第一个if

JAVA代审之crmeb_java

判断request.getDateLimit()是否有值,对应的参数是dateLimit

JAVA代审之crmeb_java

这里有个DateUtil.getDateLimit方法,这个方法是什么呢,可以问下aiJAVA代审之crmeb_java

那么也就是说这里它会对我们传入的数据进行格式转换,那么这里就不存在注入了,因为数据在传输的过程中被修改了

第二个if

JAVA代审之crmeb_java

这里我们看下request.getKeywords() ,是通过Keywords参数获取的

JAVA代审之crmeb_java

并且这里获取到Keywords是直接拼接到where中的,那么这里我们只要满足if条件Keywords不为空就可以直接拼接sql语句,并且这里没有看到数据操作的点,那么这里是存在注入的

第三个if

JAVA代审之crmeb_java

这里和第二处一样,这里没有对传入的数据进行额外操作,我们看下request.getStoreId(),发现有类型限制

JAVA代审之crmeb_java

那么这里只有第二处存在注入,测试下,查看getWriteOffList方法使用

JAVA代审之crmeb_java

跟到路由层,通过注释也能知道功能点,或者自己感觉路由构造包也行

JAVA代审之crmeb_java

使用数据库工具监控下,看下有没有找错

JAVA代审之crmeb_java

抓包,sqlmap搜哈

JAVA代审之crmeb_java

第二处

对应文件:

crmeb_java-v1.3.4crmebcrmeb-servicesrcmainresourcesmapperuserUserMapper.xml

JAVA代审之crmeb_java

参数是groupId记一下,定位到findAdminList方法

JAVA代审之crmeb_java

参数是个map,查看调用

JAVA代审之crmeb_java
JAVA代审之crmeb_java

关注map.put的参数,找groupId

JAVA代审之crmeb_java

找到了,通过request.getGroupId获取

JAVA代审之crmeb_java

查看上级调用

JAVA代审之crmeb_java

跟到功能层,发现是会员功能处,这套系统没发现会员功能点,有用户我们看下JAVA代审之crmeb_java

随便搜索东西,抓包

JAVA代审之crmeb_java

发现groupId,sqlmap搜哈

JAVA代审之crmeb_java

除文中演示的还有很多处存在注入,可以自己下去分析下

XXE

全局搜索xml解析关键词,测到SAXReader()

JAVA代审之crmeb_java

看下代码

JAVA代审之crmeb_java

创建SAXReader,然后read()解析xml,in是我们传入的,查看上级调用

JAVA代审之crmeb_java
JAVA代审之crmeb_java

构造请求路由,测试

JAVA代审之crmeb_java

还有一处我就不写了各位自己下去测吧

SSRF(未成功)

搜索关键词,openConnection()

JAVA代审之crmeb_java

这里关键要关注的是url参数,这里还限定http请求

JAVA代审之crmeb_java
JAVA代审之crmeb_java

接着往上跟

JAVA代审之crmeb_java

这里又有个要求图片要两张以上

JAVA代审之crmeb_java
JAVA代审之crmeb_java

这里路由有了,要通过 POST 请求传递 list 参数,客户端需要发送一个包含 List<ImageMergeUtilVo> 对象的 JSON 数组JAVA代审之crmeb_java

但是这里会提示没有相关权限应该是什么没配置没能解决,这里应该是有漏洞的,查了下发现有CVE编号

JAVA代审之crmeb_java

应该是我传参的问题

XSS(未成功)

这个是查SSRF的时候顺便看到的,发现有个XSS,想着复现下

JAVA代审之crmeb_java

但是我本地复现没成功,给个参考链接感兴趣的师傅自己下去看看

https://github.com/crmeb/crmeb_java/issues/12

druid未授权

存在druid组件,看配置文件发现不用登入就能访问

JAVA代审之crmeb_java

swagger文档泄露

JAVA代审之crmeb_java

 前后端分离,接口需要token没意义

最后

最近因为说后面有考虑开班和比赛的事情搞得自己有点心力憔悴,感觉自己整个人状态不太对劲,开始每天有点左右脑互搏的感觉,一会一个想法,感觉好像偏离了我应该做和我想做的,这次菜狗杯举办完后,得调整下状态继续沉淀了,既是为了后面的课也是为了能够产出更多真正意义上高质量的内容,共勉!!!

原文始发于微信公众号(菜狗安全):JAVA代审之crmeb_java

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月7日14:29:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JAVA代审之crmeb_javahttps://cn-sec.com/archives/3776796.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息