1. 程式人生 > >Apache httpd 解析漏洞

Apache httpd 解析漏洞

Apache HTTPD 換行解析漏洞(CVE-2017-15715)

apache通過mod_php來執行指令碼,其2.4.0-2.4.29中存在apache換行解析漏洞,在解析php時xxx.php\x0A將被按照PHP字尾進行解析,導致繞過一些伺服器的安全策略。

docker-compose exec apache bash

這個很奇怪,一進去一片空白,一看原始碼才知道只有後端,沒有前端,意思是得自己寫構造前端上傳程式碼嗎?
在這裡插入圖片描述

填上選檔案以及檔名,點選上傳
在這裡插入圖片描述
可見上傳失敗,進入hex模式下並新增一個\x0A
在這裡插入圖片描述
訪問主機ip:8080/111.php%0a,解析成功
在這裡插入圖片描述
後來又看了一下,得知$_FILES[‘file’][‘name’]會把%0a自動去除,所以通過這種方式獲取檔名的方法不會產生解析漏洞。

Apache HTTPD 未知字尾解析漏洞

改漏洞屬於使用者配置不當產生的漏洞,與具體中介軟體版本無關。
與其說這是漏洞,不如說是apache的特性,就是我們平常所說的從右向左解析是一樣的。
當apache遇到無法識別解析的檔案字尾時,會向前解析,如xxx.php.123.456,在mime.types檔案中如果不存在.123/.456這兩種字尾,那麼apache會將該檔案解析為php。
同樣也可以在httpd.conf檔案中更改引數或是直接配置.htaccess。

在該漏洞系統中,後端對於前端頁面的提交採用了白名單上傳的方式,對上傳檔案的字尾進行了限制。在這裡插入圖片描述
只允許gif/png/jpg/jpeg四種檔案字尾的上傳,但是在該環境死活找不到類似mime.types的檔案,也有可能是被刪除了,所以apache會一直向前解析,直到解析到最前面那個字尾,在這裡我上傳了檔案
在這裡插入圖片描述


上傳成功。
檢視上傳的資源
在這裡插入圖片描述
已成功解析。

reference:
https://blog.csdn.net/qq_32434307/article/details/79480316