日期:2021-03-09
作者:hdsec
0x00 前言
在一个寒风凛冽的冬季,接到上级安排要去某地做一次渗透测试,通过我敏锐的观察力发现这套系统竟然采用的是开源项目 – JeecgBoot
,于是我掏出我的大宝贝就是干!
开源项目地址:https://github.com/zhangdaiscott/jeecg-boot
JeecgBoot
是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x
,SpringCloud
,Ant Design&Vue
,Mybatis-plus
,Shiro
,JWT
,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发!
0x01 未授权访问-获取数据库端口
登录进入后台对功能点进行查看发现一个眼熟的点–数据监控,定眼一看竟然使用的是 Durid
。
什么是 Druid 呢?
1、Druid 是阿里巴巴数据库事业部出品,为监控而生的数据库连接池。
2、Druid 提供的监控功能,监控 SQL 的执行时间、监控 Web URI 的请求、Session监控
3、当开发者配置不当时就可能造成未授权访问漏洞。
未授权访问发现了大量 SESSIONID
数据以及执行的 SQL
语句等信息,可以直接重置平台,造成不能访问等严重问题。
通过未授权访问,发现当前系统的数据库连接端口是 13306(小编忘记截图了  ̄□ ̄|| ),为后面连接数据库做好了铺垫。
0x02 文件上传-获取数据库权限
这是授权项目会提供测试账号,登录进入后台查找上传的功能点。俗话说:“百事总有一漏,百防总有一疏”,在后台的一处上传功能处,发现没有对上传类型进行限制,这下开心了!直接上传冰蝎马,binggo
,上传成功!
上传成功后查找上传后的文件路径,使用 Burpsuite
在【下载】功能处抓取数据包,得到上传木马的路径:
http://x.x.x.x:xxxx/x/x/x/xxxx.jsp
掏出冰蝎成功连接,使用 whoami
命令发现是 root
用户权限。
接下来在文件管理-网站根路径下去寻找数据库连接密码。在寻找过程中发现三个可疑的文件夹,先在网站根目录下寻找数据库连接密码,但是提示连接失败,于是尝试其他两个文件夹下的数据库连接配置文件,同样也是连接失败。找到的密码都无法连接,MD 无情!询问小伙伴,被告知他也第一次见,o(╥﹏╥)o
好吧,就这样吧。这样也可以交差了,就在我准备放弃的时候,随手一个 root/root
连接成功了!!!!!!!!!神奇!
0x03 任意文件下载-获取敏感信息
查找资料发现还存在任意文件下载漏洞构造连接:
http://x.x.x.x:xxxx/x/jeecg_war/chat/imController/showOrDownByurl.do?dbPath=../../../../../../../../../../etc/passwd&down=1
可以成功下载敏感文件。
0x04 总结
以上就是对一个项目中遇到的 JeecgBoot
漏洞进行的汇总,除此之外还有其他漏洞像是密码重置、SQL
注入等,由于本项目是二次重构所以并未发现。感兴趣的可以把源码下载下来审计一波,最后祝表哥们天天 0day!!!
来源:freebuf.com 2021-04-27 15:05:46 by: 宸极实验室Sec
请登录后发表评论
注册