PHPstudy Nginx解析漏洞復現


漏洞描述

影響版本:phpstudy <= 8.1.0.7
phpstudy 存在 nginx 解析漏洞,攻擊者能夠利用上傳功能,將包含惡意代碼的合法文件類型上傳至服務器,從而造成任意代碼執行的影響。

環境搭建

下載phpstudy v8.1.0.7,安裝完成后如下:

漏洞復現

正常訪問圖片:

http://192.168.3.142:8088/123.gif

增加后綴訪問如下:

成功解析php文件
http://192.168.3.142:8088/123.gif/xxx.php

漏洞分析

該漏洞屬於安全配置錯誤漏洞。
漏洞產生的原因為:
1、由於配置錯誤,導致 nginx 把以 .php 結尾的文件交給 fastcgi 處理,因此可以構造 http://192.168.3.142:8088/123.gif/xxx.php(任何服務器端不存在的php文件均可,比如X.php)
2、但是 fastcgi 在處理 xxx.php 文件時發現文件並不存在,這時 php.ini 配置文件中 cgi.fix_pathinfo=1 發揮作用,這項配置用於修復路徑,如果當前路徑不存在則采用上層路徑。因此這里交由 fastcgi 處理的文件就變成了 /123.gif.
3、最重要的一點是 php-fpm.conf 中的 security.limit_extensions 配置項限制了 fastcgi 解析文件的類型(即指定什么類型的文件當做代碼解析),此項設置為空的時候才允許 fastcgi 將 .png 等文件當做代碼解析.


免責聲明!

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



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