2018年2月5日,国外安全研究人员披露了一个关于WordPress的拒绝服务(DoS)攻击的漏洞(CVE-2018-6389),WordPress 3.X~4.X各个版本均受该漏洞影响。恶意攻击者可以通过让WordPress在单个请求中加载多个JavaScript文件来消耗服务器资源,进而引发拒绝服务。
WAF本身不受该漏洞影响。但如果您的网站业务使用WordPress,建议您配置相应的防护规则。
漏洞描述
该漏洞主要位于load-scripts.php文件处,load-scripts.php是WordPress CMS的内置脚本。load-scripts.php文件通过传递name
到load
参数来选择性地调用必需的JavaScript文件,这些name
参数间以半角逗号(,)分隔。
例如,https://example.com/wp-admin/load-scripts.php?c=1&load[]=jquery-ui-core,editor&ver=4.9.1
,这个请求中加载的JavaScript文件是jquery-ui-core和editor。
由于在script-loader.php文件中定义的181个JavaScript文件都可以被加载在单个请求中,恶意攻击者在无需授权登录的情况下可以发送大量请求,导致服务器负载增加,从而实现拒绝服务攻击的效果。
防护建议
建议您使用自定义ACL访问控制规则和自定义CC攻击防护规则,对您的WordPress网站业务进行防护。具体配置建议如下:
- 通过自定义ACL访问控制规则,限制向load-scripts.php文件传递参数的数量。例如,配置以下规则限制对load-scripts.php文件传递的参数长度不大于50个字符。
- 通过自定义CC攻击防护规则,限制同一个IP对load-scripts.php文件的请求频率。例如,配置以下规则限制对同一个IP对load-scripts.php文件的请求频率不超过每5秒100次。
关于自定义ACL访问控制规则和自定义CC攻击防护规则的相关操作,请参见设置自定义防护策略。
更多信息
安全管家服务可以为您提供包括安全检测、安全加固、安全监控、安全应急等一系列专业的安全服务项目,帮助您更加及时、有效地应对漏洞及黑客攻击。更多信息,请参见安全管家服务。