《PHP應用:在PHP中使用FastCGI解析漏洞及修復方案》要點:
本文介紹了PHP應用:在PHP中使用FastCGI解析漏洞及修復方案,希望對您有用。如果有疑問,可以聯系我們。
漏洞描述:PHP應用
Nginx默認是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通過正則匹配設置SCRIPT_FILENAME.當拜訪http://192.168.1.102/phpinfo.jpg/1.php這個URL時,$fastcgi_script_name會被設置為“phpinfo.jpg/1.php”,然后構造成SCRIPT_FILENAME傳遞給PHP CGI.如果PHP中開啟了fix_pathinfo這個選項,PHP會認為SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就會將phpinfo.jpg作為PHP文件來解析了.PHP應用
漏洞危害:PHP應用
WebServer Fastcgi配置欠妥,會造成其他文件(例如css,js,jpg等靜態文件)被當成php腳本解析執行.當用戶將惡意腳本webshell改為靜態文件上傳到webserver傳遞給后端php解析執行后,會讓攻擊者獲得服務器的操作權限.PHP應用
修復方案:PHP應用
(Nginx用戶可以選擇方案一或方案二,IIS用戶請使用方案一)PHP應用
方案一,修改php.ini文件,將cgi.fix_pathinfo的值設置為0.完成后請重啟PHP和NGINX(IIS).PHP應用
方案二,在Nginx配置文件中添加以下代碼:PHP應用
這行代碼的意思是當匹配到類似test.jpg/a.php的URL時,將返回403差錯代碼.修改完成后請重啟Nginx.PHP應用
《PHP應用:在PHP中使用FastCGI解析漏洞及修復方案》是否對您有啟發,歡迎查看更多與《PHP應用:在PHP中使用FastCGI解析漏洞及修復方案》相關教程,學精學透。維易PHP學院為您提供精彩教程。