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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2018-18925 — Exploitation of CVE-2018-18925 a Remote Code Execution against the Git self hosted tool: Gogs. | Kitploit
도구/GitHubGitHub/j4k0m/cve-2018-18925
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRemote Access ToolPayload Development
GitHubj4k0m/cve-2018-18925

CVE-2018-18925

Exploitation of CVE-2018-18925 a Remote Code Execution against the Git self hosted tool: Gogs.

저장소 보기
724년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-18925

CVE-2018-18925 악용: Git 자체 호스팅 도구 Gogs에 대한 원격 코드 실행.

Gogs는 Macaron 프레임워크를 기반으로 합니다. 세션 관리를 위해 사용되는 시스템은 PHP가 하는 방식과 매우 유사합니다. 쿠키의 세션 식별자는 파일 시스템의 파일에 매핑됩니다. 웹 서버가 (쿠키로) 세션 식별자가 포함된 요청을 받으면 파일 시스템에서 해당 파일을 찾습니다.

이 취약점은 파일 시스템에서 세션에 사용되는 파일을 검색할 때 발생하는 간단한 디렉토리 트래버설입니다. 예를 들어, i_like_gogits 쿠키를 ../../../../../../etc/passwd로 설정하면 서버에서 오류가 발생합니다.

image

악용 방법:

세션 우회를 악용하려면 특별히 조작된 파일을 업로드할 방법이 필요하며, 그런 다음 이 파일을 세션 ID로 사용합니다. https://github.com/RyouYoo/CVE-2018-18925/blob/main/main.go를 사용하여 직접 조작된 세션 ID 파일을 생성할 수 있습니다.

사용법:

root@kitploit:~
go run main.go

악성 파일 업로드 및 관리자로 로그인

로컬에서 리포지토리 복사본을 생성할 때 Gogs는 파일을 /data/gogs/data/tmp/local-repo/[REPO_ID]/[FILENAME]에 저장합니다 (이 리포지토리는 "파일 업로드" 기능을 사용할 때만 생성됩니다).

image

여기서 [FILENAME]은 업로드하는 파일의 이름이고, [REPO_ID]는 Fork 링크를 통해 찾을 수 있는 리포지토리 식별자입니다:

image

여기서 5는 리포지토리 ID입니다.

기본적으로 세션은 /data/gogs/data/sessions/에 저장됩니다. 따라서 세션 ID에 다음과 같은 상대 경로를 사용할 수 있습니다: ../tmp/local-repo/[REPO_ID]/[FILENAME]. i_like_gogits 쿠키에 이 경로를 사용하면 administrator로 로그인되어야 합니다.

133289399-47f6692b-7cfa-443d-89d3-caa5b9828250

원격 코드 실행:

RCE를 얻으려면 주어진 리포지토리에서 git 훅 기능을 사용하여 셸 스크립트를 실행할 수 있습니다.

image

pre-receive에 코드를 주입하세요:

image

그런 다음 git 또는 파일 생성 기능을 사용하여 푸시 요청을 보내 훅이 실행되도록 하세요.

도구 다운로드