一个DoS漏洞可拿下WordPress站点?
简介
WordPress CMS平台上发现一个简单但很严重的应用级DoS漏洞,攻击者利用该漏洞可以用很小的带宽来达到网络级DDoS攻击的效果,达到拿下WordPress站点的目的。 漏洞编号CVE-2018-6389,影响过去9年发布的所有WordPress版本,包括最新的WordPress稳定版Version 4.9.2。但厂商拒绝修复该漏洞。 以色列的安全研究人员Barak Tawily发现该漏洞位于load-scripts.php文件处,load-scripts.php是WordPress CMS的内置脚本,用来处理用户定义的请求。 对于那些不了解的开发者,load-scripts.php文件是admin用户来改善网站性能和加快加载速度的,使用的方法是把多个JS文件融入到一个单独请求中。 为了让load-scripts.php在admin登录前就工作在管理登录页面(wp-login.php),WordPress作者并没有保持任何的认证,这就导致了该页面可以被任何人访问。Wordpress DoS攻击
依靠已安装的插件和模块,load-scripts.php文件可以通过传递name到load参数来选择性的调用必须的JS文件,这些name是以“,”隔开的,就像下面的链接:https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery当网站加载时,load-scripts.php会根据URL中的每个name去寻找对应的JS文件,并把其中的内容添加到一个单独的文件,然后发送回用户的web浏览器。
WordPress DoS攻击原理
研究人员说,攻击者可以通过把所有的参数传递给上面的URL来让load-scripts.php来调用所有可能的JS文件,通过消耗更多的CPU和服务器内存来让目标网站运行变慢。 用户可以用预先定义好的列表($wp_scripts)来发送请求,而这是load[]参数的一部分。如果请求的值存在,服务器会用从用户那里获取的补充值相关的预定义的路径来执行I/O读操作。 虽然访客不能用一个简单的请求来拿下整个网站,但是眼睛人员用一个Python POC脚本(doser.py)来向相同的URL发起大量的并发请求,这会大量消耗目标服务器的CPU资源并让服务器宕机。 Hacker News验证了DOS漏洞利用的真实性,成功地拿下了中等VPS服务器上运行的demo WordPress站点。这再次证明了load-scripts.php不需要任何的认证,匿名用户也可以进行上述操作。当服务器的请求达到500左右的时候,服务器就不再响应了,返回502/503/504错误。但是来自一个机器的40Mbps的连接是不足以让运行在处理能力和内存比较高配的服务器上的demo WordPress站点宕机的。 有更大带宽和僵尸主机的攻击者可以利用该漏洞来攻击更大、更主流的WordPress站点。补丁?
截止目前,还没有补丁发布。该漏洞大概影响29%的web站点,将上百万的网站至于黑客的面前,同时会让合法的用户得不到正常的服务。对于那些不能提供预防应用层攻击的DDOS保护的网站,研究人员做了一个WordPress站点的副本,可以预防此类漏洞。 研究人员建议用户不要安装此类修改过的CMS,即使这种CMS的来源是可信的。研究人员也发布了bash脚本来修复该漏洞。if [[ -f wp-login.php &&-f wp-admin/load-scripts.php &&-f wp-admin/includes/noop.php ]] then sed -i "1 s/^.*$/<?php\ndefine('CONCATENATE_SCRIPTS', false);/" wp-login.php sed -i -e "s/^require( ABSPATH . WPINC . '\/script-loader.php' );$/require( ABSPATH . 'wp-admin\/admin.php' );/g" wp-admin/load-scripts.php sed -i -e "s/^require( ABSPATH . WPINC . '\/script-loader.php' );$/require( ABSPATH . 'wp-admin\/admin.php' );/g" wp-admin/load-styles.php echo"""<?php /** * Noop functions for load-scripts.php and load-styles.php. * * @package WordPress * @subpackage Administration * @since 4.4.0 */ function get_file( \$path ) { if ( function_exists('realpath') ) { \$path = realpath( \$path ); } if ( ! \$path || ! @is_file( \$path ) ) { return ''; } return @file_get_contents( \$path ); }"""> wp-admin/includes/noop.php echo'Successfuly patched.' else echo'Please run this file from WordPress root directory.' fi附POC视频
<iframe src="http://player.youku.com/embed/XMzM4Mjg0ODU4OA==" width="300" height="150" frameborder="0" allowfullscreen="allowfullscreen" data-mce-fragment="1"></iframe>
本文翻译自:https://thehackernews.com/2018/02/wordpress-dos-exploit.html 如若转载,请注明原文地址: http://www.4hou.com/info/news/10277.html
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平拉美之行的三个“一” 7905287
- 2 微信或史诗级“瘦身” 内存有救了 7914683
- 3 男子求助如何打开亡父遗留14年手机 7886346
- 4 中国主张成为G20峰会的一抹亮色 7782625
- 5 中国对日本等国试行免签 7678075
- 6 7万余件儿童羽绒服里没有真羽绒 7559856
- 7 女生半裸遭男保洁刷卡闯入 酒店回应 7444228
- 8 70多辆小米SU7同一天撞墙撞柱 7369824
- 9 操纵股价 2人被证监会罚没近3.35亿 7212317
- 10 千年古镇“因网而变、因数而兴” 7144115