驗證啟用了不安全的HTTP方法


安全風險:
      可能會在Web 服務器上上載、修改或刪除Web 頁面、腳本和文件。
可能原因:
      Web 服務器或應用程序服務器是以不安全的方式配置的。
修訂建議:
      如果服務器不需要支持WebDAV,請務必禁用它,或禁止不必要的HTTP 方法。
方法簡介:
除標准的GET和POST方法外,HTTP請求還使用其他各種方法。許多這類方法主要用於完成不常見與特殊的任務。如果低權限用戶可以訪問這些方法,他們就能夠以此向應用程序實施有效攻擊。以下是一些值得注意的方法:
  PUT    向指定的目錄上載文件
  DELETE   刪除指定的資源
  COPY   將指定的資源復制到Destination消息頭指定的位置
  MOVE   將指定的資源移動到Destination消息頭指定的位置
  SEARCH   在一個目錄路徑中搜索資源
  PROPFIND   獲取與指定資源有關的信息,如作者、大小與內容類型
  TRACE   在響應中返回服務器收到的原始請求
其中幾個方法屬於HTTP協議的WebDAV(Web-based Distributed Authoring and Versioning)擴展。
 
 
 
 
滲透測試步驟:
使用OPTIONS方法列出服務器使用的HTTP方法。注意,不同目錄中激活的方法可能各不相同。
許多時候,被告知一些方法有效,但實際上它們並不能使用。有時,即使OPTIONS請求返回的響應中沒有列出某個方法,但該方法仍然可用。
手動測試每一個方法,確認其是否可用。
 
使用curl測試:

curl --X OPTIONS http://www.example.com/test/

查看響應的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

curl --T test.html  http://www.example.com/test/test.html

看是否能上載來判斷攻擊是否生效。
 
找一個存在的頁面,如test2.html

curl -X DELETE http://www.example.com/test/test2.html

如果刪除成功,則攻擊有效。
 
解決方案:
如tomcat,配置web.xml

<security-constraint>
<web-resource-collection>
<web-resource-name>fortune</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>

重啟tomcat即可完成。
以上的代碼添加到某一個應用中,也可以添加到tomcat的web.xml中,區別是添加到某一個應用只對某一個應用有效,如果添加到tomcat的web.xml中,
則對tomcat下所有的應用有效。


免責聲明!

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



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