专栏首页Timeline SecCVE-2019-16097:Harbor任意管理员注册漏洞复现

CVE-2019-16097:Harbor任意管理员注册漏洞复现

0x00 Harbor简介


Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。

作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。

0x01 原理概述


该漏洞是一个垂直越权漏洞,因注册模块对参数校验不严格,可导致任意管理员注册。攻击者注册管理员账号后可以接管Harbor镜像仓库,从而写入恶意镜像,最终可以感染使用此仓库的客户端等。

0x02 影响范围


Harbor1.7.6之前版本和Harbor1.8.3之前版本

0x03 环境搭建


从这里下载:

https://github.com/goharbor/harbor/releases

我下载的是1.7.0版本的offline离线安装包

下载后,对安装包进行解压:

修改里面的配置文件harbor.cfg(1.7.0版本的,别的版本不一定是这个配置文件,还有可能是别的:如1.8.2版本的配置文件为harbor.yml,具体情况具体分析):

vim harbor.cfg

这里面我只修改了hostname这个参数,我改成了我的ip(如果想修改别的参数,参考:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md)

修改完之后,保存退出,进行安装:

./install.sh

正常安装情况下的效果,如图:

这里我遇到的问题有: A、 版本影响 即docker版本和harbor版本的要求。高版本的harbor相应的只能匹配高版本的docker,我之前用的是1.8.2版本的harbor,但安装错误,因为我的docker版本低。故我重新下载了一个1.7.0版本的harbor,版本匹配,安装成功。 B、 没有开启docker 安装之前必须开启docker,我是在kali中搭建的,故service docker start

启动harbor:

0x04 漏洞利用


首先我们访问:192.168.1.134(我配置的hostname)

进入注册用户界面,输入注册信息,点击注册抓包:

发送到重放模块

添加我们的poc:

"has_admin_role":true

点击go

发现提示成功创建

为了验证,我们利用这个账号再次注册,发现:

用创建的这个账户进行登录,看一下我们通过POC创建的用户的权限:

成功,是管理员权限

0x05 修复方式


升级Harbor版本到 1.7.6 和 1.8.3

参考链接:

https://www.cnblogs.com/lanyincao/p/11571059.html

https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

https://blog.51cto.com/lzlutao/2388635?source=dra

本文分享自微信公众号 - Timeline Sec(PaperPenSec),作者:Richard

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 通达OA前台任意用户伪造登录漏洞复现

    通达OA采用基于WEB的企业计算,主HTTP服务器采用了世界上最先进的Apache服务器,性能稳定可靠。数据存取集中控制,避免了数据泄漏的可能。提供数据备份工具...

    Timeline Sec
  • HackerOne | 由Token泄露引发的严重漏洞

    发现者:Alex Birsan 漏洞种类:信息泄露 危害等级:严重 漏洞状态:已修复

    Timeline Sec
  • BUG赏金 | 当我发现iFrame注入时的利用

    iFrame注入是一种非常常见的跨站脚本攻击。它包括已插入到网页或文章内容的一个或多个iframe代码,或一般下载一个可执行程序或进行其他动作使网站访客的电脑妥...

    Timeline Sec
  • Harbor 自建企业仓库

    因为系统是 CentOS 7.3 ,内核啥的都已经是 3.10,所以不用担心内核升级的问题,一些操作啥的在 7.x 上操作也很方便。

    老七Linux
  • Harbor项目

    说明:Harbor是一个开源的云原生registry项目,用来存储、签名并扫描存储工件,能够提供诸如用户管理,访问控制,活动审计,和节点间的复制等一系列高级功能...

    CNCF
  • 【python】命令行参数argparse用法详解

    prog.py是我在linux下测试argparse的文件,放在/tmp目录下,其内容如下:

    zenRRan
  • 仿苹果数字键盘以及判断信用卡有效期的Editext

    这次带来一个小小的信用卡有效期规则的Editext,额外赠送内置数字键盘的开发 首先来看下需求: 1) 月份数字: λ 数字输入0:后一位数字可输入...

    非著名程序员
  • Perl_条件控制(1)

    print“1 <= 2\n”; # 显示 :1<=2

    西游东行
  • 重磅推荐,计算机视觉开源周报20191003期

    总结了过去一周CV领域的最新开源代码,发现本周出现多份很有价值的高质量、重量级工作,比如致力于使得图卷积网络更深的DeepGCNs、Mask引导的注意力网络大大...

    CV君
  • 一道快速考察 Python 基础的面试题

    可以看出,转换的过程是将 key 的下划线进行拆分,然后下划线后边的字符嵌套在前面字符的值中。

    数据森麟

扫码关注云+社区

领取腾讯云代金券