频道栏目
首页 > 安全 > 系统安全 > 正文

PHPStress:PHP拒绝服务攻击

2017-05-19 10:46:00      个评论      
收藏   我要投稿

PHPStress:PHP拒绝服务攻击。导致这种拒绝服务攻击的根本原因,在于大多数现代Web服务器的配置漏洞。简而言之,简单而稳定的PHP调用将使Web服务器疲于打开PHP进程,而无力顾及其他。对于个人而言,通过耗尽Web服务器所有可用资源来实现拒绝服务攻击,是一种非常简单有效的方法。

使用标准电缆/DSL连接,这种攻击就可以通过标准的HTTP请求来耗尽Linux Web服务器的CPU和RAM资源。同时,这种攻击还会影响使用PHP-CGI或PHP-FPM(包括WordPress网站)处理动态PHP内容的Apache或NGINX Web服务器。此外,这些用于攻击Web服务器配置漏洞的请求,在攻击结束后将继续占用服务器的资源。

要想发动这种攻击,请设置目标URL和时间延迟参数,剩下的事情可以交由脚本来完成。

攻击的对象

需要注意的是,这种攻击与Slowloris有同样的前提要求。主要区别在于,Slowloris专注于消耗HTTP(apache)连接,而这种攻击主要侧重于吞噬PHP-CGI或PHP-FPM连接(在Apache或NGINX中)。

\

为什么PHPStress攻击能够得逞

在大多数环境中,动态(PHP)内容的处理方法有两种:使用PHP-FPM或PHP FastCGI(mod_fcgid)。虽然Plesk、Cpanel、ISPConfig等共享托管上的现代控制面板已经开始使用PHP-FPM作为动态内容处理的标准,但大多数(默认情况下)情况下还是通过FastCGI来处理PHP内容。

FastCGI/Mod_fcgid

FastCGI应用程序在Web服务器(Apache或其他智能)之外执行,并使用套接字等待来自Web服务器的请求。如果FastCGI/ PHP-CGI经过了正确的设置,它将忽略请求,而不是继续分配内存。在此期间,客户会超时。当流量高峰过去后,一切会恢复正常。

需要注意的是:当PHP-CGI耗尽可用进程时,Apache将启动并开始生成其他进程以尝试满足需求。由于这个过程使用了占用大量内存的httpd进程,所以很快就会耗尽服务器(其中包括每个进程中嵌入的完整PHP解释器)的内存资源。生成的Apache进程的最大数量,是由ServerLimit或MaxClients设置中设置的数字(通常为256或512)而定的。启动256个Apache进程的话,将花费Web服务器的很长时间。

PHP-FPM(FastCGI进程管理)

FPM(FastCGI进程管理)是PHP FastCGI的一种替代实现,它提供了一些额外的功能来支持高负载的站点。根据我自己的经验,PHP-FPM在处理PHP方面要快得多。

上一篇:安卓系统级病毒疫情月报(2017年 - 总第2期)
下一篇:致命漏洞将允许攻击者绕过苹果的OTR签名验证并窃取iCloud钥匙串信息
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站