ue下載地址
http://http://ueditor.baidu.com/website/download.html
exphtml
<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>
咱們首先來看一下目錄結構web
ue是一個典型的net webshell
bin目錄和app_code目錄其中bin下面引用的是jsondll 所以這裏咱們不分析dlljson
主要仍是看app_code目錄下面的cs文件 首先隨便跟進一個方法看看有沒有任意文件上傳的可能性app
首先看到uploadimages方法url
而這裏正好是由於引用了上面的dll 因此能夠直接加載jsonspa
這裏第一步先實例化UploadHandler類 而後第二部從json獲取各類配置信息 穿給類裏面的值code
傳遞完成值後直接開始上傳方法orm
而後對上傳文件進行判斷htm
咱們跟進方法
那麼漏洞是怎麼造成的吶?
漏洞在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