天天看點

啟用了不安全的HTTP方法

參考網址:http://www.cnblogs.com/tdcqma/p/5355801.html

安全風險:

      可能會在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 -v -X OPTIONS http://www.example.com/test/

檢視響應的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

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

看是否能上載來判斷攻擊是否生效。

找一個存在的頁面,如test2.html

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

如果删除成功,則攻擊有效。(測試時好像并不能真正删除檔案,指令可以執行但是傳回403禁止頁面資訊,不知道是不是tomcat問題,如果添加下面配置,則直接禁止不會有傳回頁面)

解決方案:

如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>

繼續閱讀