先来了解下WP-Super-Cache,是基于 Ricardo Galli Granada 的 WP-Cache 2。WP-Cache 2 可以缓存你的 WordPress 博客。使得不用再次访问数据库,但是它产生的是 PHP 文件而不是 HTML 文件,所以还需要 PHP 引擎去解析它们。而 WP Super Cache 则直接产生 HTML 文件,所以服务器不用解析甚至一行 PHP 代码,是当前最高效也是最灵活的 WordPress 静态缓存插件。它把整个网页直接生成 HTML 文件,这样 Apache 就不用解析 PHP 脚本,通过使用这个插件,能使得你的 WordPress 博客将显著的提速。
这个是他的原理和作用,是不是很强大?相信很多博主都用到它,那么一旦有漏洞,危害范围就可想而知了。下面看看具体情况。该攻击将导致攻击者获取网站的管理员权限从而窃取网站资料和数据库。受影响的插件版本为1.4.4,根据官方有效下载统计,大约超过 100万的WP博客受此漏洞的影响。
漏洞详情:
攻击者可以使用一个精心构造的查询语句向插件缓存文件列表页面中插入恶意脚本。为了能够保证正常显示内容,页面会请求一个有效的随机数(nonce),这种情况下就需要网站管理员手动检查该特殊会话了。
网站管理员们经常会使用WP-Super-Cache文件的密钥来选择合适的缓存文件进行加载,而该漏洞正好是存在WP-Super-Cache显示缓存文件密钥信息的过程中,所以该漏洞的危害很大。
$details[ ‘key’ ]字段被插入进了页面代码中。如果$details变量的‘key’参数中包含了get_wp_cache_key() 函数的返回(也就是用户cookies中的数据),那么攻击者就可在页面中插入恶意脚本