攻防-harbor低版本利用
hvv-harbor低版本利用
在攻防中,遇到直接拿poc怼,结果返回json有问题,注册失败?
网上大部分poc都是直接上has_admin_role":true
,但在低版本中,user结构体中是int值,所以poc为:has_admin_role":1
什么是harbor
先了解一下harbor:Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。
作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。
影响范围
Harbor1.7.6之前版本和Harbor1.8.3之前版本
高版本漏洞
- 注册时加
has_admin_role":true
Post 注册,抓包,post内容加上
plaintext
1 | POST /api/users HTTP/1.1 |
低版本harbor 任意管理
- 在hvv中发现poc返回有问题,版本为1.2.0
- 翻github,1.2.0为之前发布的版本,我们直接看源码分析
想一下为什么会有这个漏洞,无非是Post请求包中的has_admin_role值被接受了,没有经过校验。
哎?我们发现他居然不是boolean值,而是int值。那么我们想一下,在语言中,如果判断一个值为真假,就像C没boolean,那int=1
就是真,所以我们把poc稍做修改
poc
注册之后抓包,添加"has_admin_role":1
,不要直接用下面的,因为cookie不一样,建议抓包修改添加"has_admin_role":1
。
plaintext
1 | POST /api/users HTTP/1.1 |
ok,任意用户注册成功。
利用点:可以先docker login进去,pull下docker环境找敏感信息
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 impdx!