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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2021-41773-source-code-analysis — Python 기반 정적 패치 분석 도구로, 취약한 Apache HTTP Server 2.4.49 소스 코드와 패치된 2.4.51 구현을 비교하여 CVE-2021-41773(Apache HTTP Server 경로 탐색)의 근본 원인과 수정 방법을 연구합니다. | Kitploit
도구/GitHubGitHub/kunalkhandelwal-dev/cve-2021-41773-source-code-analysis
Vulnerability AnalysisCode AnalysisWeb SecurityLearning & EducationLabs & Practice
GitHubkunalkhandelwal-dev/cve-2021-41773-source-code-analysis

cve-2021-41773-source-code-analysis

Python 기반 정적 패치 분석 도구로, 취약한 Apache HTTP Server 2.4.49 소스 코드와 패치된 2.4.51 구현을 비교하여 CVE-2021-41773(Apache HTTP Server 경로 탐색)의 근본 원인과 수정 방법을 연구합니다.

저장소 보기

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
31개월 전아직 검토되지 않음
공유

Apache HTTP Server CVE-2021-41773 소스 코드 분석

CVE-2021-41773 (Apache HTTP Server 경로 탐색) 의 근본 원인과 수정 사항을 연구하기 위해 취약한 Apache HTTP Server 2.4.49 소스 코드와 패치된 2.4.51 구현을 비교하는 Python 기반 정적 패치 분석 도구입니다.

이 프로젝트는 단순한 텍스트 기반 diff 대신 의미론적 소스 코드 분석을 수행합니다. 대상 함수에서 구조적 정보를 추출하고, 두 버전을 비교하며, 보안 관련 변경 사항을 추론하고, 전문적인 분석 보고서를 생성합니다.


기능

  • 정적 소스 코드 분석
  • 중괄호 매칭을 이용한 함수 추출
  • 취약한 버전과 패치된 버전 간 구조적 비교
  • 보안 기능 탐지
  • 패치 추론 엔진
  • Markdown 보고서 생성
  • JSON 보고서 생성
  • HTML 보고서 생성
  • 자동화된 Docker 랩 설정
  • 환경 검증 도구

프로젝트 아키텍처

root@kitploit:~
Apache 소스 코드
        │
        ▼
 parser.py
        │
        ▼
 extractor.py
        │
        ▼
 comparator.py
        │
        ▼
 reasoning.py
        │
        ▼
 reports.py

프로젝트 구조

root@kitploit:~
cve-2021-41773-source-code-analysis
│
├── docker
│   ├── apache249
│   │   ├── Dockerfile              # Apache HTTP Server 2.4.49 컨테이너 빌드
│   │   └── docker-compose.yml      # 취약한 Apache 컨테이너 시작
│   │
│   └── apache251
│       ├── Dockerfile              # Apache HTTP Server 2.4.51 컨테이너 빌드
│       └── docker-compose.yml      # 패치된 Apache 컨테이너 시작
│
├── labs                            # 다운로드된 Apache 소스 코드 저장
│
├── references
│   └── resources.md                # CVE 연구를 위한 참고 자료
│
├── scripts
│   ├── patch_analysis
│   │   ├── __init__.py             # 분석 패키지 초기화
│   │   ├── parser.py               # Apache 소스에서 대상 C 함수 추출
│   │   ├── extractor.py            # 변수, 호출, 조건 및 보안 기능 추출
│   │   ├── comparator.py           # 취약한 버전과 패치된 함수 구조 비교
│   │   ├── reasoning.py            # 탐지된 변경 사항에 대한 보안 추론 수행
│   │   ├── reports.py              # 보고서 생성 조정
│   │   ├── markdown_report.py      # Markdown 분석 보고서 생성
│   │   ├── json_report.py          # JSON 분석 보고서 생성
│   │   └── html_report.py          # HTML 분석 보고서 생성
│   │
│   ├── analyze_patch.py            # 패치 분석의 메인 진입점
│   ├── verify_lab.py               # Docker 랩 구성 검증
│   └── debug.py                    # 디버깅을 위한 원시 비교 출력 표시
│
├── analysis                        # 생성된 분석 보고서
│
├── setup.sh                        # 전체 랩을 자동으로 준비
│
├── LICENSE
└── README.md

요구 사항

  • Python 3.10+
  • Docker
  • Docker Compose
  • Bash
  • Linux (Kali Linux에서 테스트됨)

설치

저장소 클론

root@kitploit:~
git clone https://github.com/KunalKhandelwal-dev/cve-2021-41773-source-code-analysis.git

프로젝트 디렉토리로 이동

root@kitploit:~
cd cve-2021-41773-source-code-analysis

설정

자동 설정 스크립트를 실행합니다.

root@kitploit:~
sudo bash setup.sh

설정 스크립트는 다음 작업을 자동으로 수행합니다:

  • 필수 도구 확인
  • Docker 설치 확인
  • Apache HTTP Server 2.4.49 다운로드
  • Apache HTTP Server 2.4.51 다운로드
  • 두 소스 트리 압축 해제
  • Docker 이미지 빌드
  • Apache 컨테이너 시작
  • 분석 환경 생성

출력 예시

root@kitploit:~
[INFO] 필수 도구 확인 중...
[SUCCESS] 필수 도구를 찾았습니다.

[INFO] Docker 확인 중...
[SUCCESS] Docker가 실행 중입니다.

[INFO] Apache HTTP Server 2.4.49 다운로드 중...
[SUCCESS] Apache 2.4.49가 다운로드되었습니다.

[INFO] Apache HTTP Server 2.4.51 다운로드 중...
[SUCCESS] Apache 2.4.51이 다운로드되었습니다.

[INFO] Docker 이미지 빌드 중...
[SUCCESS] Docker 이미지가 빌드되었습니다.

[INFO] Apache 컨테이너 시작 중...
[SUCCESS] 컨테이너가 시작되었습니다.

=========================================================
[SUCCESS] Apache CVE 랩 설정 완료
=========================================================

환경 검증

실행

root@kitploit:~
cd scripts

sudo python3 verify_lab.py

성공적인 검증

image

검증 도구는 다음을 확인합니다:

  • Docker 설치
  • Docker 데몬
  • 실행 중인 컨테이너
  • Apache 버전
  • Apache 소스 코드
  • 대상 함수
  • HTTP 서비스
  • GDB 사용 가능 여부

패치 분석 실행

scripts 디렉토리로 이동합니다.

root@kitploit:~
cd scripts

실행

root@kitploit:~
sudo python3 analyze_patch.py

출력 예시

image

분석 출력 샘플

root@kitploit:~
Apache HTTP Server 패치 분석 보고서

보안 발견 사항

[MEDIUM]
퍼센트 디코딩 도입 또는 수정됨

[MEDIUM]
16진수 검증 도입 또는 수정됨

[HIGH]
디렉토리 탐색 처리 개선됨

[HIGH]
경로 정규화 파이프라인 업데이트됨

[CRITICAL]
탐색 보호 강화됨

생성된 보고서

성공적인 실행 후 다음 보고서가 생성됩니다:

root@kitploit:~
analysis/
├── analysis.md
├── analysis.json
└── analysis.html

분석 파이프라인

root@kitploit:~
Apache 소스 로드
        │
        ▼
대상 함수 추출
        │
        ▼
구조적 정보 추출
        │
        ▼
취약한 버전 vs 패치된 버전 비교
        │
        ▼
보안 추론
        │
        ▼
보고서 생성

탐지된 보안 기능

  • 퍼센트 인코딩 / 디코딩
  • 16진수 검증
  • 점 세그먼트 처리
  • 경로 구분자 정규화
  • URI 정규화 플래그
  • 디렉토리 탐색 보호

생성된 발견 사항

추론 엔진은 다음과 같은 보안 개선 사항을 식별합니다:

  • 퍼센트 디코딩 도입
  • 16진수 검증 도입
  • 디렉토리 탐색 처리 개선
  • 경로 정규화 업데이트
  • 탐색 보호 강화

교육 목적

이 프로젝트는 다음을 대상으로 합니다:

  • 보안 연구원
  • CVE 근본 원인 분석을 배우는 학생
  • 안전한 소프트웨어 엔지니어링
  • 정적 소스 코드 분석
  • 패치 diff 분석
  • 취약점 연구

라이선스

이 프로젝트는 MIT 라이선스로 배포됩니다.

저자

Kunal Khandelwal

B.Tech 컴퓨터 과학 공학 (사이버 보안)

보안 연구 | 애플리케이션 보안 | Docker | 소스 코드 분석

도구 다운로드