码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CVE-2022-1162 Gitlab 硬编码漏洞复现


    目录

    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内容如下:

    1. version: '3'
    2. services:
    3.   gitlab:
    4.     image: 'gitlab/gitlab-ce:14.7.4-ce.0'
    5.     container_name: 'gitlab'
    6.     restart: always
    7.     privileged: true
    8.     hostname: 'gitlab'
    9.     environment:
    10.       TZ: 'Asia/Shanghai'
    11.     ports:
    12.       - '8080:80'
    13.     volumes:
    14.       - ./config:/etc/gitlab
    15.       - ./data:/var/opt/gitlab
    16.       - ./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,进入容器目录:

    1. docker ps
    2. docker exec -it 2fe837dacaca /bin/bash

    修改gitlab.rb文件

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

    内容:

    1. ### OmniAuth Settings
    2. ###! Docs: https://docs.gitlab.com/ee/integration/omniauth.html
    3. gitlab_rails['omniauth_allow_single_sign_on'] = ['github']
    4. gitlab_rails['omniauth_auto_link_ldap_user'] = true
    5. gitlab_rails['omniauth_block_auto_created_users'] = true
    6. gitlab_rails['omniauth_providers'] = [
    7.  {
    8.   name: "github",
    9.   app_id: "APP_IP",
    10.   app_secret: "APP_SECRET",
    11.   args: { scope: "user:email" }
    12.  }
    13. ]

    重启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 修复建议:

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

  • 相关阅读:
    Visual Studio 中的键盘快捷方式大全
    Linux学习之悟空派上实现OLED的无线网IP及CPU温度显示【守护进程】
    windows桌面运维----第六天
    系统集成项目管理工程师对入户的帮助有多大?
    七、安装Centos7+8系统+超级优化
    Jmeter测试计划
    uniapp uni.showToast 一闪而过的问题
    基于yolov5模型的目标检测蒸馏(LD+KD)
    ThreadPoolExecutor 类
    docker-compose部署Atomci(云原生CICD平台)
  • 原文地址:https://blog.csdn.net/qq_44281295/article/details/127813365
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号