簡體   English   中英

Apache + PHP截斷的帖子/上傳

[英]Apache+PHP Truncated Post/Upload

我一直在尋找一個漏洞,該漏洞已影響到將圖像上傳到我們開發平台上的網站上(尚未能夠實時實現)。

概要是:

大於〜20KB的POST內容會被不一致地截斷。

我還無法確切地知道發生在什么時候。 我有信心將所有數據都傳輸到Apache,但是不確定是否接收到所有數據,是否沒有將某些數據傳遞給PHP或是否正在發生其他事情。

到目前為止,我已采取的步驟:

  • 檢查php.ini的file_uploadspost_max_sizeupload_max_filesizemax_file_uploads和共同設置為合理值。
  • 在Apache配置中,將LimitRequestBody設置為0。

我看到的確切行為有些令人困惑。 作為調試的一部分,我檢查了

echo strlen( file_get_contents( 'php://input' ) );

每次嘗試更改該值,無論使用什么文件。 我看到的最大值約為500KB,最低的約為20KB。

通過使用僅在HTTP / 1.0(而不是HTTP / 1.1)中運行的客戶端,我已經能夠在一種情況下解決此問題(10次嘗試中100%的成功率)。

我以此為線索,嘗試使用force-downgrade-1.0和相關指令,但是這些指令會影響響應而不是請求。

原因:

apache.conf有指令

Timeout 0

這導致Apache HTTPD等待0秒等待發布數據,而不是無限期地等待我的期望。 在開發環境中將Timeout設置為大量秒數可以解決此問題。

http://httpd.apache.org/docs/2.2/mod/core.html#timeout沒有為Timeout 0指定語義,所以我假設它是按字面意義解釋的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM