目录

0x01 声明:

0x02 简介:

0x03 漏洞概述:

0x04 影响版本:

0x05 环境搭建:

Docker环境搭建:

漏洞环境搭建:

创建文件

拉取内容:

访问:

Github配置:

新增OAuth application

配置gitlab:

进入容器目录:

修改gitlab.rb文件

重启docker:

0x06 漏洞复现:

复现:

使用github登录:

问题:

验证:

0x07 流量分析:

特征:

0x08 修复建议:


0x01 声明:

仅供学习参考使用,请勿用作违法用途,否则后果自负。

0x02 简介:

GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,可通过 Web 界面访问公开或私人项目。

0x03 漏洞概述:

GitLab官方描述,系统会默认给使用了 OmniAuth 程序(例如 OAuth、LDAP、SAML)注册的帐户设置一个硬编码密码,从而允许攻击者可直接通过该硬编码密码登录并接管帐户。

0x04 影响版本:

Gitlab CE/EE >=14.7, <14.7.7

Gitlab CE/EE >=14.8, <14.8.5

Gitlab CE/EE >=14.9, <14.9.2

0x05 环境搭建:

Docker环境搭建:

漏洞环境搭建:

参考这篇文章(Docker&Docker-compose环境安装_Evan Kang的博客-CSDN博客https://blog.csdn.net/qq_44281295/article/details/126573488)

创建文件

新建文件docker-compose.yaml内容如下:

version: '3'
services:gitlab:image: 'gitlab/gitlab-ce:14.7.4-ce.0'container_name: 'gitlab'restart: alwaysprivileged: truehostname: 'gitlab'environment:TZ: 'Asia/Shanghai'ports:- '8080:80'volumes:- ./config:/etc/gitlab- ./data:/var/opt/gitlab- ./logs:/var/log/gitlab

拉取内容:

docker-compose up -d

访问:

http://192.168.119.243:8080

Github配置:

新增OAuth application

头像—Settings--Developer settings--OAuth Apps

Homepage URL:

http://192.168.119.243:8080

Authorization callback URL:

http://192.168.119.243:8080/users/auth/github/callback

使用这个,因为上面那个回报错

http://gitlab/users/auth/github/callback

配置gitlab:

进入容器目录:

查看ID,进入容器目录:

docker psdocker exec -it 2fe837dacaca /bin/bash

修改gitlab.rb文件

路径:(/etc/gitlab/gitlab.rb)

内容:

### OmniAuth Settings
###! Docs: https://docs.gitlab.com/ee/integration/omniauth.html
gitlab_rails['omniauth_allow_single_sign_on'] = ['github']
gitlab_rails['omniauth_auto_link_ldap_user'] = true
gitlab_rails['omniauth_block_auto_created_users'] = true
gitlab_rails['omniauth_providers'] = [{name: "github",app_id: "APP_IP",app_secret: "APP_SECRET",args: { scope: "user:email" }}
]

重启docker:

docker restart xxxx

0x06 漏洞复现:

复现:

使用github登录:

问题:

最后会向GitHub中填写的Callback跳转 发起GET请求参数为  http://gitlab/users/auth/github/callback?code=xxxxxxx&state=xxxxxxxx,502失败。

修改重定向url:

http://192.168.119.243:8080/users/auth/github/callback?code=xxxxxxx&state=xxxxxxxx

验证:

使用管理员root登录

(首次需要查询密码)

进入容器目录:

cat /etc/gitlab/initial_root_password

授权成功后,可使用该账号加123qweQWE!@#000000000登录

0x07 流量分析:

特征:

gitlab主页URL:

"/users/sign_in"

Github认证URL:

"/users/auth/github/callback"

response.body:

/.*\.gitlab\.com.*/

response.body:

/.*GitLab Enterprise Edition.*/

response.body:

/.*GitLab Community Edition.*/

response.body:

/.*This is a self-managed instance of GitLab.*/

0x08 修复建议:

官方已发布漏洞补丁及修复版本,请评估业务是否受影响后,酌情升级至安全版本。

CVE-2022-1162 Gitlab 硬编码漏洞复现相关推荐

  1. 【安全狗漏洞通告】Gitlab 硬编码漏洞解决方案

    近日,安全狗应急响应中心监测到Gitlab官方发布安全通告,披露了其Gitlab产品存在硬编码漏洞.漏洞编号CVE-2022-1162. 漏洞描述 GitLab 是一个用于代码仓库管理系统的开源项目, ...

  2. 某些厂商防火墙存在硬编码漏洞复现

    一.漏洞背景              硬编码漏洞简单的说就是密码以加密的形式存在于页面中,如base64 cmd5等形式,我们可以直接通过对应的解密软件进行界面 二.漏洞复现 祭出fofa大法,fo ...

  3. CVE-2022-1162 Gitlab 硬编码漏洞分析

    漏洞描述 GitLab 是一个用于仓库管理系统的开源项目,使用 Git 作为代码管理工具,可通过 Web 界面访问公开或私人项目. 在GitLab CE/EE版本14.7(14.7.7之前).14.8 ...

  4. CVE(2017-15715、2021-41773、2021-40438)漏洞复现

    仅用于学习参考,不要贪玩哦(*^▽^*) 目录 CVE-2017-15715 漏洞介绍 漏洞复现 CVE-2021-41773 漏洞介绍 漏洞复现 CVE-2021-40438 漏洞介绍 漏洞复现 一 ...

  5. D-Link 修复多个硬编码密码漏洞

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士 D-Link 发布固件热修复方案,解决了基于 DIR-3040 AC3000 的无线互联网路由器中的多个漏洞. 如成功利用这些漏洞,攻击者 ...

  6. linux与s7-300,Siemens SIMATIC S7-300硬编码凭证安全限制绕过漏洞

    发布日期:2011-08-03 更新日期:2011-08-03 受影响系统: Siemens SIMATIC S7-300 描述: ---------------------------------- ...

  7. (2022年12月最新)SpringBoot远程代码执行whitelabel error page SpEL RCE漏洞复现

    1. 漏洞原理 spring boot 处理参数值出错,流程进入org.springframework.util.PropertyPlaceholderHelper 类中 此时 URL 中的参数值会用 ...

  8. GitLab任意文件读取漏洞复现(CVE-2020-10977)

    0x00简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务.GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git ...

  9. Gitlab 任意文件读取漏洞 CVE-2016-9086 漏洞复现

    Gitlab 任意文件读取漏洞(CVE-2016-9086) by ADummy 0x00利用路线 ​ 上传poc.tar.gz文件->读取到etc/passwd 0x01漏洞介绍 ​ 2018 ...

最新文章

  1. 收件箱的邮箱发件人可以批量导出吗_企业邮箱常用技巧,高效处理邮件
  2. [LeetCode 001] Two Sum
  3. 4.6 前向和反向传播-深度学习-Stanford吴恩达教授
  4. Java 可重入锁内存可见性分析
  5. java 程序输出 赵_编写一个完整的JAVA的程序
  6. SD-WAN新价值:中企通信与Fortinet强强联合 安全先行
  7. typescript 静态_关于TypeScript静态成员的全部信息| TypeScript OOP
  8. (转)script标签到底该放在哪里
  9. gcn在图像上的应用_GCN的概念与应用
  10. ionic 安卓apk签名_安卓 APP 三代加壳方案的研究报告
  11. 第13届 广东工业大学ACM程序设计大赛 C题 平分游戏
  12. Oracle Tuning ( instance 级别 ) 01
  13. 学生选课系统代码-1start.py代码
  14. c语言程序 题库管理,C语言程序设计题库管理.doc
  15. Windows10新版本设置卓越性能
  16. android画布橡皮,Android绘图实现橡皮擦功能
  17. 微信ipad 62 A16登录协议,小程序code 小程序sessionid 获取
  18. IOS APP的图标尺寸、启动画面尺寸、宣传画面尺寸
  19. 用 Python 创建属于自己的网易云音乐
  20. 用python生成M序列

热门文章

  1. hive日期函数总结
  2. 河内之塔问题——《经典算法》
  3. 【算法系列】之递归算法
  4. 树与二叉树与森林的相关性质
  5. 2023广州建博会:鸿雁总裁王米成详解全屋智能的发展脉络
  6. 【IoT】 产品设计之结构设计:PMMA(亚克力)板、PC耐力板、PS有机板与MS板区别
  7. 25.PIBOT的IMU校准
  8. IMU(razor_imu_9dof,GY951)的校准和使用
  9. 谢谢你,陪我走“疫”程
  10. 张振宇软件工程导论_Intel张振宇:计算、存储和网络推动云计算发展