兜兜有糖糖 發表於 2017-4-30 16:35:47

IIS PHP fastcgi模式 pathinfo取值错误任意代码执行漏洞修复方法

<p>描述:</p>
<p>目标存在任意代码执行漏洞。</p>
<p>漏洞形成原因:PHP默认配置有误,IS+PHP fastcgi模式在解析PHP文件时存在缺陷,导致任意文件会被服务器以PHP格式解析,从而导致任意代码执行。</p>
<p>验证方式:打开目标页面后在原URL后添加/test.php</p>
<p>示例:在http://www.xxx.com/123.jpg后输入/test.php并回车,使用抓包工具查看响应头信息,如果包含PHP/x.x.x即可证明漏洞存在。</p>
<p><img alt="" src="https://img.jbzj.com/file_images/article/201704/20170430163054.png" /></p>
<p>部分浏览器免费抓包工具:</p>
<p>360浏览器:工具--&gt;开发人员工具<br />
IE浏览器:工具--&gt;F12开发人员工具<br />
Firefox:搜索下载Firebug插件--&gt;F12呼出<br />
Chrome:点击右上角的菜单--&gt;工具--&gt;开发者工具</p>
<p><strong>危害:</strong></p>
<p>攻击者可以利用该漏洞直接在网站执行任意代码,可能直接控制网站服务器,盗取网站数据,影响网站的正常运营。</p>
<p>最近360提示这个IIS+PHP fastcgi模式 pathinfo取值错误任意代码执行漏洞,这里根据提示修复了漏洞,具体方法如下</p>
<p>以下是360给出的解决方案</p>
<p><strong>一、更换PHP默认的Fastcgi模式为ISAPI模式(只能运行于Windows环境)</strong></p>
<p>1.下载PHP的ZIP文件包,下载地址http://www.php.net(注意版本要对应)<br />
2.将sapi目录中的:php4isapi.dll复制到c:\php目录中<br />
3.进入虚拟主机管理平台的&quot;网站管理&quot;-&quot;虚拟主机&quot;--服务器设置中,修改PHP的影射,将原来的:<br />
.php,C:\PHP\php.exe,5,GET,HEAD,POST,TRACE|<br />
改成:<br />
.php,C:\PHP\php4isapi.dll,5,GET,HEAD,POST,TRACE|<br />
4.(IIS 6才需要)打开IIS管理器,点击Web服务扩展,点击php的属性,&ldquo;要求的文件&rdquo;---添中--选中&ldquo;C:\PHP\php4isapi.dll&rdquo;,确定后,PHP就可以调用。<br />
&nbsp;</p>
<p>琼殿技术社区小编评语:</p>
<p><span style="color: #ff0000">一般不建议变更为ISAPI模式,效率很低.2003 php5.2.17可以使用isapi方式,2008 则建议直接修改php.ini配置文件把cgi.fix_pathinfo值改为0 就行了.</span></p>
<p><strong>二、在条件允许的情况下(咨询网站工程师),更改php.ini中的配置参数cgi.fix_pathinfo值为0</strong></p>
<p>建议用这个,但需要用服务器管理权限的,一般是vps或主机</p>
<p>琼殿技术社区小编评语:</p>
<p><span style="color: #ff0000">推荐这种方式,不论iis还是apache、nginx都很方便</span></p>
<p><strong>三、针对iis的解决方案</strong></p>
<p>此处客户的环境是windows server 2008R2的IIS,这里我在&lsquo;处理程序映射&rsquo;里找到php的双击进入此界面</p>
<p><img src="https://img.jbzj.com/file_images/article/201704/20170430164429.png" alt="" /></p>
<p>进入&lsquo;请求限制&rsquo;</p>
<p><img src="https://img.jbzj.com/file_images/article/201704/20170430164430.png" alt="" /></p>
<p>确定后就可以了。</p>
<p>测试:</p>
<p>在服务器上根目录新建一个phpinfo()的JPG文件test.jpg,访问http://www.xxx.com/test.jpg/1.php(test.jpg后面的php名字随便写),如果有漏洞则可以看到phpinfo()的信息,反之会返回404错误。</p>
<p><strong>四、使用360网站卫士</strong></p>
<p><strong>Nginx pathinfo取值错误任意代码执行漏洞</strong></p>
<p>漏洞形成原因:由于Nginx默认配置有误,从而导致了一个任意代码执行漏洞.<br />
受影响版本:<br />
nginx 0.5.*<br />
nginx 0.6.*<br />
nginx 0.7 &lt;= 0.7.65<br />
nginx 0.8 &lt;= 0.8.37<br />
危害:<br />
黑客可以利用该漏洞直接在网站执行任意代码,从而有可能直接控制网站服务器,盗取网站数据,影响网站的正常运营。</p>
<p><strong>解决方案:</strong></p>
<p>升级Nginx至最新版本,官方网站:http://nginx.org/。</p>
頁: [1]
查看完整版本: IIS PHP fastcgi模式 pathinfo取值错误任意代码执行漏洞修复方法