XML-RPC放大攻击:针对WordPress的“暴力美学”

暴力猜解攻击是我们至今为止在互联网上看到的最古老而常见的攻击之一。黑客可以通过SSH和FTP协议,暴力猜解攻击你的WEB服务器。

传统暴力猜解攻击

这些攻击一般都不是很复杂,而且理论上是比较容易遏制的。但是,它们仍然拥有存在的价值,因为人们并不习惯采用强密码,而且不是每个人都拥有良好的登录习惯。

然而可惜的是,暴力猜解攻击有个致命的弱点。通常来说,如果黑客需要尝试500个不同的密码,他将尝试发送500次不同的请求到服务器上。通过限制登录次数,可以在一定层面上遏制暴力猜解攻击。

放大型暴力猜解攻击

黑客可以减少攻击次数么,他们能否一次请求,就能进行多次登陆尝试?请想象一下,如果你一次攻击请求能尝试500个密码,那么登录次数限制神马的,不都是战斗力5的渣渣了?

这种手法有点类似于咱们以前的DDoS放大攻击,一个核心指挥服务器,能够利用DNS或者NTP协议回应进行放大攻击,增加原本攻击强度50-100倍。无论是任何类型的放大型攻击,都将让黑客倍加受益。

通过Wordpress XML-RPC进行暴力猜解放大攻击

XML-RPC的隐藏特性之一,则是你可以使用system.multicall方法,在单个请求中进行多次尝试,这是非常有用的。它允许应用程序通过一条HTTP请求,执行多个命令。

XML-RPC是一个通过HTTP方法进行远程调用的,非常简单易用的玩意儿。它支持Perl、Java、Python、C、C++、PHP,以及许多其他编程语言。Wordpress和Drupal,以及许多其他内容管理系统都支持XML-RPC。

当然,任何好的技术都是双刃剑。在XML-RPC技术被普通程序开发者所喜爱的同时,也成了黑客手中的利器。

我们跟踪有关XML-RPC的攻击好几个星期了,第一次在网络上发现案例是在2015年9月10日,类似的攻击有愈演愈烈的趋势。与以前黑客热衷于wp-login.php不同,这个文件很容易被登录保护,或者.htaccess给ban掉。黑客尝试利用system.multicall方法,试图在一个请求里包含数百次攻击。你可以想象一下,你在查看日志的时候,一个条目就包含如此多尝试的样子。

194.150.168.95 – – [07/Oct/2015:23:54:12 -0400] “POST /xmlrpc.php HTTP/1.1″ 200 14204 “-” “Mozilla/5.0 (Windows; U; WinNT4.0; de-DE; rv:1.7.5) Gecko/20041108 Firefox/1

光看这个,你看的出来这是调用了数百次密码猜解的攻击么?黑客可以通过它们绕过安全检测,进行暴力尝试。

wp.getCategories方法攻击

我们在网络上还发现了wp.getCategories方法,这要求用户名和密码,请求效果如下:

<methodCall><methodName>system.multicall</methodName> <member><name>methodName</name><value><string>wp.getCategories</string></value></member> <member><name>params</name><value><array><data> <value><string></string></value><value><string>admin</string></value><value><string>demo123</string></value> ..  <member><name>methodName</name><value><string>wp.getCategories</string></value></member> <member><name>params</name><value><array><data> <value><string>admin</string></value> <value><string>site.com</string></value> …

WordPress(xmlrpc)会响应是否有成功的用户名密码组合。

在上面这个例子中,黑客尝试了admin/demo123和admin/site.com的组合,响应包如下:

[{‘faultCode': 403, ‘faultString': ‘Incorrect username or password.‘}, {‘faultCode': 403, ‘faultString': ‘Incorrect username or password.‘}, {‘faultCode': 403, ‘faultString': ‘Incorrect username or password.’}, {‘faultCode': 403, ‘faultString': ‘Incorrect username or password.’}, {‘faultCode': 403, ‘faultString': …  [[{‘url': ‘http://site.com/wordpress/’, ‘isAdmin': True, ‘blogid': ‘1’, ‘xmlrpc': ‘http://site.com/wordpress/xmlrpc.php’, ‘blogName': ‘wpxxx’}]]]

这里我们使用的是wp.getCategories方法进行攻击实验,其他需要认证的方法也可以这样用。所以ban掉wp.getCategories对阻止同类攻击,并没有太大用处。下面是需要身份认证的方法列表:

wp.getUsersBlogs, wp.newPost, wp.editPost, wp.deletePost, wp.getPost, wp.getPosts, wp.newTerm, wp.editTerm, wp.deleteTerm, wp.getTerm, wp.getTerms, wp.getTaxonomy, wp.getTaxonomies, wp.getUser, wp.getUsers, wp.getProfile, wp.editProfile, wp.getPage, wp.getPages, wp.newPage, wp.deletePage, wp.editPage, wp.getPageList, wp.getAuthors, wp.getTags, wp.newCategory, wp.deleteCategory, wp.suggestCategories, wp.getComment, wp.getComments, wp.deleteComment, wp.editComment, wp.newComment, wp.getCommentStatusList, wp.getCommentCount, wp.getPostStatusList, wp.getPageStatusList, wp.getPageTemplates, wp.getOptions, wp.setOptions, wp.getMediaItem, wp.getMediaLibrary, wp.getPostFormats, wp.getPostType, wp.getPostTypes, wp.getRevisions, wp.restoreRevision, blogger.getUsersBlogs, blogger.getUserInfo, blogger.getPost, blogger.getRecentPosts, blogger.newPost, blogger.editPost, blogger.deletePost, mw.newPost, mw.editPost, mw.getPost, mw.getRecentPosts, mw.getCategories, mw.newMediaObject, mt.getRecentPostTitles, mt.getPostCategories, mt.setPostCategories

下面的图是针对XML-RPC的system.multicall方法,专门用于暴力猜解攻击的样例。每个请求都可以承载数百次暴力猜解攻击,图中的数字能让你欣赏感受下暴力美学:

 

如果你是一名Wordpress站长,并且没有使用依赖xmlrpc.php文件的插件,你可以重命名或者删除这个文件来防御攻击。但如果你正在使用如JetPack之类的插件,ban掉这个文件可能会让你的网站功能异常。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/140743.html<

赞 (0)
管理的头像管理
上一篇2025-03-04 02:13
下一篇 2025-03-04 02:14

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注