IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Ubuntu安装php5.6.9免疫Multipart/form-data远程拒绝服务漏洞

    lijiejie发表于 2015-05-21 09:02:43
    love 0

    最近百度的同学liushusheng[at]baidu.com向php反馈了一个 Multipart/form-data 远程拒绝服务 的安全漏洞。

    攻击者可以构造并持续发送畸形HTTP请求,恶意占用系统资源。

    简单测试,多线程持续发包,可以让一些性能较低的网站延长响应时间,甚至是直接出错。在我的测试机上,一旦攻击开始,CPU占用率会很快飙升至99%。

    从下图可以看到,cpu一栏,占用率是很高的。(我的VPS是8 vcpu)

    php-dos

    最新释出的 php 5.6.9(2015.5.14) 已经修复了这个问题。

    虽然攻击过程必须持续发包,并且性能好的服务器很难被打挂,但仍然大家建议更新修复这个问题。

    我在自己vps上更新了php 5.6.9(配合apache),简单记录一下基本的操作步骤:

    php -v     #可以先检查下自己当前的版本
    
    apt-get install libxml2-dev
    
    apt-get install apache2-dev
    
    wget http://cn2.php.net/distributions/php-5.6.9.tar.bz2
    
    tar -xvf php-5.6.9.tar.bz2
    
    cd php-5.6.9/
    
    which apxs    # 确认找到apxs的路径
    
    ./configure --with-apxs2=`which apxs` --with-mysql
    
    make
    
    make install
    
    php -v    #再次检查php的版本
    
    cp .libs/libphp5.so /usr/lib/apache2/modules/
    
    service apache2 restart

    重启apache之后,php的版本已经变成了5.6.9

    php.ver

    再次测试,cpu占用率已经降低了:

    php.5.6.9.test

    升级后发现,匿名用户访问博客首页,显示空白,但已登录的用户却不受影响。

    说明是受缓存影响。 于是到 WP Super Cache插件 页面重新生成缓存,点击页面上的“更新按钮”即可。

    随后再刷新,首页已经可以匿名访问了。

    参考链接:

    http://sec.baidu.com/index.php?research/detail/id/22

    https://bugs.php.net/bug.php?id=69364



沪ICP备19023445号-2号
友情链接