近日,PHP被爆出存在远程DOS漏洞,若黑客利用该漏洞构造PoC发起连接,容易导致目标主机CPU被迅速消耗。此漏洞涉及众多PHP版本,因而影响范围极大。
漏洞产生的原因是PHP解析multipart/form-datahttp请求的body part请求头时,重复拷贝字符串导致DOS。而远程攻击者可以通过发送恶意构造的multipart/form-data请求,导致服务器CPU资源被耗尽,从而远程DOS服务器。
另据了解,在今年4月3日就有用户在PHP官网提交了PHP远程DoS漏洞(PHP Multipart/form-data remote dos Vulnerability),代号69364。由于该漏洞涉及PHP的众多版本,故其影响面较大,一经发布迅速引发多方面关注。此后,各种PoC已经在网络上流传。
此次漏洞具备如下特性:
1. 一旦被利用成功,可以在迅速消耗被攻击主机的 CPU 资源,从而达到 DoS 的目的;
2. PHP 在全球的部署量相当大,为攻击者提供了相当多可以攻击的目标;
3. PHP 官方目前仅给出了 5.4 及 5.5 版本的补丁
受此漏洞影响的软件及系统包括 PHP 的如下版本。
• PHP 5.0.0 – 5.0.5
• PHP 5.1.0 – 5.1.6
• PHP 5.2.0 – 5.2.17
• PHP 5.3.0 – 5.3.29
• PHP 5.4.0 – 5.4.40
• PHP 5.5.0 – 5.5.24
• PHP 5.6.0 – 5.6.8
根据绿盟漏洞检测数据显示,在提交了5596个网站中,有1400多个网站存在漏洞,中枪率约为25%。
截止到发稿为止,PHP官方已经提供了PHP 5.4.41、5.5.25、5.6.9 的补丁 ,而PHP 5.3版本补丁暂未提供,但有网友根据官方补丁,制作了PHP5.3 版本的”民间版”补丁:https://coding.net/u/simapple/p/oldphppatch/git
补丁的使用方法:
在源代码目录执行,重新编译安装打好补丁的源代码
1 2 | patch -p1 < 补丁文件名 |
漏洞检测地址:https://portal.nsfocus.com/vulnerability/list/