CVE-2017-7529-Nginx越界讀取緩存漏洞


漏洞參考

https://blog.csdn.net/qq_29647709/article/details/85076309

漏洞原因

Nginx在反向代理站點的時候,通常會將一些文件進行緩存,特別是靜態文件。緩存的部分存儲在文件中,每個緩存文件包括“文件頭”+“HTTP返回包頭”+“HTTP返回包體”。如果二次請求命中了該緩存文件,則Nginx會直接將該文件中的“HTTP返回包體”返回給用戶。如果我的請求中包含Range頭,Nginx將會根據我指定的start和end位置,返回指定長度的內容。而如果我構造了兩個負的位置,如(-600, -9223372036854774591),將可能讀取到負位置的數據。如果這次請求又命中了緩存文件,則可能就可以讀取到緩存文件中位於“HTTP返回包體”前的“文件頭”、“HTTP返回包頭”等內容。

漏洞影響

該漏洞影響所有 0.5.6 - 1.13.2版本內默認配置模塊的Nginx只需要開啟緩存攻擊者即可發送惡意請求進行遠程攻擊造成信息泄露

當Nginx服務器使用代理緩存的情況下攻擊者通過利用該漏洞可以拿到服務器的后端真實IP或其他敏感信息
通過我們的分析判定該漏洞利用難度低可以歸屬於low-hanging-fruit的漏洞在真實網絡攻擊中也有一定利用價值

環境搭建

https://github.com/vulhub/vulhub/tree/master/nginx/CVE-2017-7529

POC驗證

https://github.com/liusec/CVE-2017-7529

https://github.com/liusec/CVE-2017-7529

 


免責聲明!

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



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