PHP曝DOS漏洞可致CPU灌满,PHP5.35.2修补方法

PHP曝DOS漏洞可致CPU灌满,PHP5.35.2修补方法,第1张

PHP曝DOS漏洞可致CPU灌满,PHP5.3/5.2修补方法

近日,PHP被爆出存在远程DOS漏洞,若黑客利用该漏洞构造PoC发起连接,容易导致目标主机CPU被迅速消耗。此漏洞涉及众多PHP版本,因而影响范围极大。

POC(概念验证)是对某些想法的一个不完整的实现,以证明其可行性,示范其原理,其目的是为了验证一些概念或理论。在计算机安全术语中,概念验证经常被用来作为0day、exploit的别名。(通常指并没有充分利用这个漏洞的exploit)

漏洞产生的原因是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已经在网络上流传。

此次漏洞具备如下特性:

    一旦被利用成功,可以在迅速消耗被攻击主机的 CPU 资源,从而达到 DoS 的目的;
    PHP 在全球的部署量相当大,为攻击者提供了相当多可以攻击的目标;
    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

根据绿盟漏洞检测数据显示,在提交了12791个网站中,有3216多个网站存在漏洞,中q率约为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

截至之后《lnmp一键安装包》中PHP 5.3.29版本已经打好补丁,之前版本修补方法如下:
PHP 5.4 PHP 5.5 PHP 5.6

    ./upgrade_php.sh
    #输入最新版本(5.4.41、5.5.25、5.6.9)

PHP 5.3

    cd lnmp/src
    wget http://mirrors.linuxeye.com/lnmp/src/php5.3patch
    wget -c http://mirrors.linuxeye.com/lnmp/src/php-5.3.29.tar.gz
    tar xzf php-5.3.29.tar.gz
    cd php-5.3.29
    patch -p1 < ../php5.3patch
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc 
    --with-fpm-user=www --with-fpm-group=www --enable-fpm --disable-fileinfo 
    --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 
    --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir 
    --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath 
    --enable-shmop --enable-exif --enable-sysvsem --with-curl --enable-mbregex 
    --enable-inline-optimization --enable-mbstring --with-mcrypt --with-gd 
    --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets 
    --with-xmlrpc --enable-ftp --with-gettext --enable-zip --enable-soap 
    --disable-ipv6 --disable-debug
    make ZEND_EXTRA_LIBS='-liconv'
    service php-fpm stop
    make install

PHP 5.2

    cd lnmp/src
    wget //linuxeye.com/wp-content/uploads/2015/05/php5.2patch
    cd php-5.2.17
    patch -p1 < ../php5.2patch
    #通过phpinfo.php获取./configure
    make ZEND_EXTRA_LIBS='-liconv'
    make install
Thu May 21 17:57:50 CST 2015

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3012662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-28
下一篇 2022-09-28

发表评论

登录后才能评论

评论列表(0条)

保存