最近有 文章 概述了如何 使用WordPress的XML-RPC pingback功能进行DDos攻击 。本文将会对该攻击进行分析,同时为网站管理员提供信息来保护他们的网站。
这不是新的漏洞
WordPress的 XML-RPC API 不是新推出的. 下面是七年前 wordpress的bug数据 .
尽管该漏洞不是最新的,不过攻击代码/工具却是近两年才 出现 。工具的出现为脚本小子提供了便利,进而造成了更多的DDoS攻击。
WordPress XML-RPC Pingback DDoS 攻击过程XML-RPC pingback功能提供了一个合法的方式来从不同的作者那里连接内容。本文就是介绍如何利用一些博客站点的XML-RPC功能来对第三方网站进行攻击。
Patsy Proxy 攻击SpiderLabs 的同事Daniel Crowley 在2012的DerbyCon大会上演示了一篇] The Patsy Proxy: Getting others to do your dirty work [的文章,文中讨论了通过第三方网站发送攻击流量的各种方式。 ( 查看PPT ). 此外,还发布了利用工具.其中一种工具叫做 [ DDoS attacks via other sites execution tool (DAVOSET) ] ,它能够通过很多不同的站点发送攻击流量. 下面DAVOSET中用到的URL列表
通过一个]Patsy Proxy]站点发送攻击数据非常简单.下面我们仔细看下WordPress 的XML-RPC Pingback 问题.
WordPress XML-RPC Pingback DDoS 攻击下面是一个使用curl进行攻击的命令
黄色高亮的数据是一个WordPress [Patsy Proxy] 网站,橘黄色高亮的数据时被攻击的网站. 需要注意的是出于测试目的需要在报头中加上 [ Content-Type: text/xml ] 否则XML-RPC 服务会认为该请求不合法,然后响应如下:
攻击者发送完请求之后, Patsy Proxy WordPress 站点会向被攻击站点发出如下的HTTP请求:
注意HTTP请求的格式是只有两行:
URI Host request header不过被攻击站点上的WAF(web应用防护系统)会识别出该攻击来保护网站. 正常的浏览器发送的请求包含很多包头. 由于pingback DDoS 攻击不像其他的协议攻击(如NTP)一样,不会使用任何类型的放大攻击方式, 如果请求的URI会让攻击站点进行后台计算就会造成更大的危害。
保护措施 禁用XML-RPC如果你不想使用XML-RPC,禁用它是完全可能的. 可以参考文章: even plugins that will disable it.
禁用Pingback 请求可以通过向function.php中添加如下文件来禁用pingback:
识别原始的 Pingback 请求
通过WAF能够识别原始的pingback XML 攻击请求. 详情可以 在这 查看 。
在受害网站上识别Pingback 原始Requests正如之前提到的,尽管URI是动态变化的, 但是所有的代理XML-RPC pingback 的HTTP请求只有两行 . 可以使用WAF识别并响应(比如把请求的IP加入黑名单)这种异常。
[via@ spiderlabs / 91ri.org]
查看更多关于WordPress XML-RPC PingBack 漏洞分析 - 网站安全 - 自学的详细内容...