给PHP 5.2 HASH 漏洞打补丁

网络消息称当前包括PHP、Java、Ruby在内的很多语言版本存在漏洞,PHP官方开发组成员Laruence表示攻击者可以通过构造Hash冲突实现拒绝服务攻击,并提供了实例。这个攻击方法危害很高,攻击成本也很小,一个台式机可以轻松搞垮数十台、上百台服务器。

任何攻击者可以利用这个漏洞DDoS掉世界上的大部分网站!危害等级绝对是核弹级别。因此,PHP官方开发组紧急发布了补丁,请尽速修补。

PHP方面,<= 5.3.8, <= 5.4.0RC3的所有版本均会受此漏洞影响。PHP 5.3.9和PHP 5.4.0已经包含了针对此漏洞的补丁,但由于两个版本目前仍然在RC状态,无法用于生产服务器升级。至于PHP 5.2,官方开发组表示不会为了这个漏洞发布新版。

尽管如此,仍然有第三方给出了php 5.2的patch,以修正此问题。

修复漏洞之前,先查看一下系统的php版本,以php安装位置为/usr/local/php/为例,执行如下命令:/usr/local/php/bin/php -v

返回如下信息:

PHP 5.2.17 (cli) (built: Dec 29 2011 20:33:42)

修复完成后再次执行则返回如下信息,则表示修复完成:

PHP 5.2.17p1 (cli) (built: Jan 10 2012 16:31:00)

具体漏洞修补过程:

  1. 前往patch下载(https://github.com/laruence/laruence.github.com/tree/master/php-5.2-max-input-vars)下载对应版本的patch文件,如php-5.2.17-max-input-vars.patch(https://raw.github.com/laruence/laruence.github.com/master/php-5.2-max-input-vars/php-5.2.17-max-input-vars.patch)
  2. 进入php编译目录,执行patch -p1 < path/to/php-5.2.*-max-input-vars.patch
  3. 重新执行make & make install

上一篇: PHP实现301或302重定向
下一篇: 注册公司的各项事项问答

发表评论