IIS PUT漏洞復現(MOVE方法 207 Multi-Status錯誤解決)


IIS PUT漏洞復現(MOVE方法 207 Multi-Status錯誤解決)

漏洞介紹

WebDAV(Web-based Distributed Authoring and Versioning) 是一種HTTP1.1的擴展協議。它擴展了HTTP 1.1,在GET、POST、HEAD等幾個HTTP標准方法以外添加了一些新的方法,使應用程序可對Web Server直接讀寫,並支持寫文件鎖定(Locking)及解鎖(Unlock),還可以支持文件的版本控制。這樣就可以像操作本地文件夾一樣操作服務器上的文件夾。當然該擴展也存在缺陷,可以被惡意攻擊者利用,直接上傳惡意文件。

漏洞復現

靶機環境:windows server2003 +IIS6 (192.168.1.99)

首先在靶機開啟的IIS服務器,使用IISPutScanner工具掃描,發現put方法未被允許。

我們將web服務擴展中的webDAV打開

完成之后用工具先驗證一下服務器當前是否允許PUT方法

可以看到PUT方法已經被允許了,然后我們需要復現input寫入shell,所以我們在目標網站的屬性中勾選“寫入”權限。

添加寫入權限之后,那么就用IIS寫權限利用工具來進一步利用,先通過options方法探查一下服務器支持哪些http方法

可以看到是支持put方法的,下面我們選擇PUT方法上傳一個asp的shell(asp.asp),保存為test.asp

這里注意我們直接上傳asp文件會提示失敗,我們可以通過先上傳txt文件的方式繞過

這里可以用MOVE方法將剛剛上傳的txt文件修改為asp文件,從而將文本文件變成可執行的腳本文件。MOVE協議不會更改文件內容。

發現無法成功修改,我們可以利用IIS目錄解析漏洞在文件后面加上;.txt或者;.jpg來繞過上傳。(其實PUT方法也可以直接使用這種方式直接繞過上傳,這里MOVE方法不知道為啥提示403錯誤)

我們看到shell文件成功寫入,使用菜刀鏈接shell(http://192.168.1.99/shell.asp;.txt) 成功。

MOVE方法沒有成功各種不爽,然后查資料發現網站屬性里面的主目錄下除了要勾選“寫入”選框之外還要勾選“腳本資源訪問”

然后使用MOVE方法成功修改txt為shell文件aa.asp

修復建議

通過整個漏洞復現過程我們也可以知道這個IIS PUT漏洞完全是因為管理員的一些不當配置導致的,所以想要修復只需要做到以下兩點即可

  1. 關閉WebDAV

  2. 關閉寫入權限


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM