关于WordPress漏洞CVE-2018-6389在4.9.4的试验报告

今天刷TG看到一个新(旧)闻:WordPress4.9.2(含)以前的网站含有DoS漏洞,可以用一台电脑轻松down掉网站。来源链接CVEPoC

DoS攻击

拒绝服务攻击英语:denial-of-service attack缩写DoS attackDoS)亦称洪水攻击,是一种网络攻击手法,其目的在于使目标电脑的网络系统资源耗尽,使服务暂时中断或停止,导致其正常用户无法访问。

黑客使用网络上两个或以上被攻陷的电脑作为“僵尸”向特定的目标发动“拒绝服务”式攻击时,称为分布式拒绝服务攻击distributed denial-of-service attack缩写DDoS attackDDoS)。据2014年统计,被确认为大规模DDoS的攻击已达平均每小时28次。[1]DDoS发起者一般针对重要服务和知名网站进行攻击,如银行、信用卡支付网关、甚至根域名服务器等。

(以上内容来自维基百科)

要是维基上的描述太抽象了,我们举一个具体的例子:百度贴吧的签到功能。

签到的流程很简单,浏览器上点一下签到,过一会弹出一个悬浮窗,提示经验+5,目前等级*级,是第几名签到…(太久没玩了忘了具体都提示了啥)在这个过程中,浏览器给服务器发出的是“我要签到”这个简单请求,服务器则需要处理和返回:

  • 用户是第几天签到,签到天数+1;
  • 根据天数计算签到经验;
  • 将签到经验加到总用户经验中,求和;
  • 重新计算用户等级;
  • 计算用户是第几名签到
  • ……

这就是简单的发出数据和返回数据的严重不对等。所以知道为什么有一段时间百度移除了贴吧签到功能了吧。

WordPress中的漏洞分析

来源链接里面(的英文)已经解释的很清楚了,WordPress当中存在一个load-scripts.php,这个文件中存在着以下语句:

其中,$wp_scripts是调用WordPress内建JS模块的方式。这些模块被统一存放在/wp-includes/script-loader.php里面。打开这个文件给你们看一下是有多么壮观:

总共有180个(显示181的其中一个是注释中的,写明了调用方式)模块。这个模块名单是如此之长以至于我都不想再放上来增加文章长度……

那么,如果构造一个请求,让服务器加载所有模块的话……

服务器:

不好意思拿错表情包了,是这个。

服务器:

理论上是可行的,对吧!(突然兴奋.jpg)

所以这个攻击异常的暴力+没有技术含量,就能用2.6KB的请求炸出服务器4MB的回复(某个老哥的测试结果)…

(来源:http://baraktawily.blogspot.com/2018/02/how-to-dos-29-of-world-wide-websites.html

使用PoC进行攻击演示

因为攻击其他人的站点是违法的,所以我用了自己站点(WordPress 4.9.4)做实验.

搞到PoC的python脚本之后,我在自己笔记本上用PyCharm跑了一遍(请求数100000),尝试着把自己的网站down掉:

 

根据PoC的描述,在发送了大约500个请求之后(开着CloudFlare),服务器就down了。

但是在运行了10分钟过后……网站依然坚挺。

15分钟过后:

怂.jpg

期间……网站一直正常运行。

(第二次攻击测试)

两次攻击,一共用时40分钟,运行WordPress 4.9.4的网站没有停止响应。从Linode Longview上看,攻击期间的I/O以及CPU占用、内存占用都十分平稳。

总结

此次的漏洞具有利用价值,但是在最新版本的WordPress上面已经不起作用。如果站长看到了这篇文章,强烈建议更新到最新版本

同时,虽然这次的攻击CloudFlare不能提供有效防护,为了避免未来的DoS和其他攻击方式,还是建议开启CDN进行源站IP的匿名化处理,还有针对其他普通DoS的防护。

Mark

广岛大学社会心理学(预备)研究生。忙。AE/PR/FCPX/PS/LR/AI(Adobe Illustrator)。会一点Python。

相关推荐

在WordPress页脚添加外链

因为最近缺资金所以今天想添一条ConoHa注册链接到网页页脚(footer.php)。 刚开始很天真的直接用<a href>,然后 …

CloudFlare免费套餐试用感受

其实作为一个小网站根本没必要上CDN,但是玩玩总没坏处( CloudFlare是我去年夏天听说的。那时候发生的事件嘛,恩,不 …

4 条评论

  1. yiran

    慢慢浏览了你的主题,感觉站长的高中生活真是丰富。。。
    回想我的高中,都在拍皮球中度过。

    • @yiran 我高中晚自习都让同桌去图书馆借小说给我看,作为交换我把作业给他抄…然后班主任去图书馆查了借书名单(

      但是班主任也说不出话,我们在班上成绩都是靠前的

  2. yiran

    TG的哪一个channel?

有什么想法说出来听听?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据