Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
gitlab-rce-demo — 노트북 diff 렌더링을 통해 Oj 파서의 두 가지 Ruby 메모리 손상 버그를 악용하는 GitLab RCE 자체 포함 데모 | Kitploit
도구/GitHubGitHub/wupco/gitlab-rce-demo
ExploitationWeb Application ExploitationBinary ExploitationLabs & Practice
GitHubwupco/gitlab-rce-demo

gitlab-rce-demo

노트북 diff 렌더링을 통해 Oj 파서의 두 가지 Ruby 메모리 손상 버그를 악용하는 GitLab RCE 자체 포함 데모

저장소 보기
9422126일 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

GitLab Oj RCE 데모

이 저장소는 당사의 연구에서 설명한 GitLab notebook-diff RCE 체인을 위한 자체 포함(self-contained) 데모를 포함합니다. 새 GitLab 18.11.3 컨테이너를 시작하고, 공개 HTTP 인터페이스를 통해 일반 사용자를 생성한 다음, 해당 인스턴스에 대해 PoC를 실행합니다.

기술 세부사항: Going depthfirst: Achieving GitLab RCE via Two Ruby Memory Corruption Vulnerabilities

요구 사항

  • x86-64(amd64)의 Linux
  • Docker Compose v2가 포함된 Docker Engine
  • Bash, Python 3, curl, Git, iproute2 및 netcat

데모 실행

먼저 새 GitLab 환경을 구축합니다:

root@kitploit:~
./setup_env.sh

이 스크립트는 이전 데모 컨테이너와 해당 볼륨을 제거하고, GitLab을 시작하고, 준비 완료될 때까지 기다린 후 일반 사용자를 프로비저닝합니다. 새 GitLab 부팅은 몇 분이 걸릴 수 있습니다.

두 개의 터미널을 엽니다. 첫 번째 터미널에서 콜백 리스너를 시작합니다:

root@kitploit:~
./run_poc.sh listen 4555

두 번째 터미널에서 익스플로잇을 실행합니다:

root@kitploit:~
./run_poc.sh exploit 4555

콜백이 도착하면 리스너 터미널로 전환하여 id 또는 whoami 같은 명령을 실행합니다. ASLR 검색 시간은 실행마다 다릅니다.

성공적인 데모 실행

작동 방식

GitLab은 저장소에서 제어되는 JSON을 네이티브 Ruby JSON 파서인 Oj에 전달하여 Jupyter notebook diff를 렌더링합니다. 이 체인은 두 가지 파서 버그를 결합합니다. 하나는 파서 상태를 손상시켜 궁극적으로 콜백 포인터를 제어하며, 다른 하나는 ASLR 검색 범위를 좁히는 데 사용되는 힙 포인터를 노출합니다. PoC는 사전 계산된 조회 테이블을 로드하고, 일반 GitLab HTTP 요청을 통해 일치하는 라이브러리 레이아웃을 찾은 다음, Puma 워커가 git 사용자로 리스너에 다시 연결하도록 만듭니다.

이 데모는 포함된 로컬 랩 환경에서만 사용하세요.

도구 다운로드