在昨天淘宝上一客户发来一个需求,漏洞修复。
PHP-CGI 远程代码执行
漏洞描述在地址后面加入【?-d+allow_url_include%3d1+-d+auto_prepend_file%3dphp://input】POST访问传入 任意PHP代码就能执行。
搜索资料得知不是网站代码的问题,由于是新网的虚拟主机,不能修改服务器配置,下了工单后解决了。大致解决思路是修改Apache或者Ngix配置文件
这个大致原理是
-d 指定配置项
%3d 代替 =
allow_url_include=1 修改php置,允许url包含文件
auto_prepend_file=hp://input 在访问php文件前加入 POST传入的内容做为PHP文件,从而达到远程执行PHP代码。
Apache开启URL过滤,把危险的参数过滤掉
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(%2d|-)[^=]+$ [NC]
RewriteRule ^(.*) $1? [L]
评论 (0)