要求:禁止使用不安全的 HTTP 方法,例如 PUT、DELETE 等。
緣由 1:Tomcat PUT 的上傳漏洞,受影響的版本:Apache?Tomcat 7.0.0 to 7.0.79
當(dāng) Tomcat 運(yùn)行在 Windows 操作系統(tǒng)時(shí),且啟用了 HTTP PUT 請(qǐng)求方法(例如,將 readonly 初始化參數(shù)由默認(rèn)值設(shè)置為 false),攻擊者將有可能可通過(guò)精心構(gòu)造的攻擊請(qǐng)求數(shù)據(jù)包向服務(wù)器上傳包含任意代碼的 JSP 文件,JSP 文件中的惡意代碼將能被服務(wù)器執(zhí)行。導(dǎo)致服務(wù)器上的數(shù)據(jù)泄露或獲取服務(wù)器權(quán)限。
利用條件:
Apache Tomcat 默認(rèn)開(kāi)啟 PUT 方法,org.apache.catalina.servlets.DefaultServlet 的 readonly 默認(rèn)為 true,需要手動(dòng)配置 readonly 為 false 才可以進(jìn)行漏洞利用,而且默認(rèn)沒(méi)有在 Tomcat/conf/web.xml 里寫(xiě)。
緣由 2: Nginx 在開(kāi)啟 WebDAV 模式下,如果未配置認(rèn)證模式,攻擊者可以通過(guò)自由上傳文件方法上傳木馬攻擊服務(wù)器。
WebDAV 簡(jiǎn)介
WebDAV(Web-based Distributed Authoring and Versioning)是基于 HTTP/1.1 的增強(qiáng)協(xié)議。該協(xié)議使用戶(hù)可以直接對(duì) Web 服務(wù)器進(jìn)行文件讀寫(xiě),并支持對(duì)文件的版本控制和寫(xiě)文件的加鎖及解鎖等操作。說(shuō)白了,Nginx 就是開(kāi)啟 WebDAV 這個(gè)協(xié)議后,可以當(dāng)做一個(gè)文件服務(wù)器,允許用戶(hù)在遠(yuǎn)端向本地一樣進(jìn)行讀寫(xiě)操作,當(dāng)然也包括上傳文件。
由于 Nginx 在設(shè)計(jì)時(shí),或許是為了減輕小白的上手難度,在開(kāi)啟 WebDAV 時(shí)沒(méi)有強(qiáng)制要求用戶(hù)必須配置訪(fǎng)問(wèn)認(rèn)證,這導(dǎo)致了某些 SB 用戶(hù)在公網(wǎng)上開(kāi)啟了 WebDAV 而沒(méi)有進(jìn)行認(rèn)證配置,從而導(dǎo)致了安全問(wèn)題。而且由于 WebDAV 支持的協(xié)議有?PUT、DELETE、MKCOL、COPY 和 MOVE 等,其中 PUT、DELETE 與 HTTP 方法中的 PUT、DELETE 協(xié)議重合,便被安全部門(mén)給一刀切了。
WebDAV 安全風(fēng)險(xiǎn)
PUT:由于 PUT 方法自身不帶驗(yàn)證機(jī)制,利用 PUT 方法可以向服務(wù)器上傳文件,所以惡意攻擊者可以上傳木馬等惡意文件。
DELETE:利用 DELETE 方法可以刪除服務(wù)器上特定的資源文件,造成惡意攻擊。
OPTIONS:將會(huì)造成服務(wù)器信息暴露,如中間件版本、支持的 HTTP 方法等。
TRACE:可以回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷,一般都會(huì)存在反射型跨站漏洞。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-422080.html
總結(jié): PUT/DELETE 在 HTTP 協(xié)議中是否安全主要跟代碼邏輯相關(guān),并非是使用了這種方法就造成訪(fǎng)問(wèn)不安全,由于代碼是運(yùn)行在容器中,如果容器配置不當(dāng),會(huì)導(dǎo)致一些安全風(fēng)險(xiǎn),安全工程師并不理解代碼背后的邏輯,從而將 PUT、DELETE 給一刀切了。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-422080.html
到了這里,關(guān)于PUT/DELETE 為何成了 HTTP 協(xié)議中的不安全方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!