仅用一台计算机就可DDoS掉任何WordPress网站
作者: 日期:2018年02月14日 阅:3,193

好像嫌WordPress站点攻击方法还不够多似的,名为巴拉克·塔维利的以色列研究人员公布了仅用一台计算机就可对WordPress站点发起拒绝服务(DoS)攻击的简单方法。互联网上WordPress网站占比多少呢?30%!

该攻击利用了CVE-2018-6389相关漏洞。CVE数据库并未给出该漏洞相关细节,仅标明“预留”以供日后使用。但是,2月5日,这名以色列安全研究员在其博客上公布了该漏洞的详细说明。

此漏洞可使黑客滥用WordPress load-scripts.php 功能,而该php本是供管理员或网站开发人员在服务器端将多个JavaScript文件组合成单个请求以提升网站性能的。

塔维利公布的DoS方法利用了其中两关键元素。首先,利用了load-scripts.php无需用户身份认证即可调用的特性——任何人均可调用。其次,load-scripts.php可接受名为‘load[]’的参数,而‘load[]’是一个数组,可指定需组合并加载的多个脚本。因为还被用于提升wp-login.php页面性能,该php也无需任何用户身份验证即可调用。

WordPress采用wp_scripts列表来存放全部181个脚本文件的路径,目的是让管理员或开发人员可在load[]参数中包含特定脚本的路径,根据用户提供的数值来提升性能。wp_scripts列表硬编码在script-loader.php文件里。

如果我向服务器发出请求,要求提供其上存储的每一个JS模块,会发生什么情况?这一个请求,就可以让服务器执行181次输入/输出(I/O)操作!好吧,我真这么干了……

这一个请求花了服务器2.2秒来响应,响应数据近4MB——把服务器累够呛。

塔维利的下一步动作就是用他自己写的一个Python脚本来自动重复发送相同请求。终于,一直发送这同一条响应开销巨大的请求,服务器就不堪重负无暇他顾了。塔维利轻松导演有效DoS攻击。

他曾通过HackerOne向WordPress报告了该问题,虽然DoS不在WordPress漏洞奖励范围内。但无论如何,这都是个需要报告的漏洞。然而,WordPress的回复不痛不痒:此类问题应在服务器或网络层面而不是应用层面予以缓解,WordPress对此无能为力。

这在两个方面是有问题的。首先,很多WordPress站点是博客和小微企业网站,往往架在提供商各异的共享服务器上,基本没有什么技术维护。此类站点无法在服务器或网络层级修复该漏洞。

其次,塔维利已经证明,只要知道怎么做。然而,很多WordPress用户显然不知道。漏洞修复并没有想象中那么难:分叉WordPress项目并修复之,这样就只有经过认证的用户可以访问 load-*.php 文件了,且不会损及wp-login.php文件的功能。他还提供了一个修改相关文件的bash脚本以修复该漏洞。

博客地址:

https://baraktawily.blogspot.co.uk/2018/02/how-to-dos-29-of-world-wide-websites.html

关键词:

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章