अपडेट पर वापस जाएँ
UpdatedAug 3, 2026

cve-2021-41773-source-code-analysis — Updated!

एक Python-आधारित स्थैतिक पैच विश्लेषण उपकरण जो CVE-2021-41773 (Apache HTTP Server Path Traversal) के मूल कारण और उपचार का अध्ययन करने के लिए कमजोर Apache HTTP Server 2.4.49 स्रोत कोड की तुलना पैच किए गए 2.4.51 कार्यान्वयन से करता है।

साझा करें

Apache HTTP Server CVE-2021-41773 सोर्स कोड विश्लेषण

CVE-2021-41773 (Apache HTTP Server पाथ ट्रैवर्सल) के मूल कारण और उपचार का अध्ययन करने के लिए एक Python-आधारित स्थैतिक पैच विश्लेषण उपकरण, जो कमजोर Apache HTTP Server 2.4.49 सोर्स कोड की तुलना पैच किए गए 2.4.51 कार्यान्वयन से करता है।

यह प्रोजेक्ट सरल टेक्स्ट-आधारित डिफिंग के बजाय सिमेंटिक सोर्स कोड विश्लेषण करता है। यह लक्षित फ़ंक्शन से संरचनात्मक जानकारी निकालता है, दोनों संस्करणों की तुलना करता है, सुरक्षा-संबंधित परिवर्तनों का अनुमान लगाता है, और पेशेवर विश्लेषण रिपोर्ट उत्पन्न करता है।


विशेषताएँ

  • स्थैतिक सोर्स कोड विश्लेषण
  • ब्रेस मैचिंग का उपयोग करके फ़ंक्शन निष्कर्षण
  • कमजोर और पैच किए गए संस्करणों के बीच संरचनात्मक तुलना
  • सुरक्षा क्षमता का पता लगाना
  • पैच तर्क इंजन
  • Markdown रिपोर्ट निर्माण
  • JSON रिपोर्ट निर्माण
  • HTML रिपोर्ट निर्माण
  • स्वचालित Docker लैब सेटअप
  • पर्यावरण सत्यापन उपकरण

प्रोजेक्ट आर्किटेक्चर

Apache Source Code
        │
        ▼
 parser.py
        │
        ▼
 extractor.py
        │
        ▼
 comparator.py
        │
        ▼
 reasoning.py
        │
        ▼
 reports.py

प्रोजेक्ट संरचना

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 पर परीक्षण किया गया)

स्थापना

रिपॉजिटरी क्लोन करें

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

प्रोजेक्ट में प्रवेश करें

cd cve-2021-41773-source-code-analysis

सेटअप

स्वचालित सेटअप स्क्रिप्ट चलाएँ।

sudo bash setup.sh

सेटअप स्क्रिप्ट स्वचालित रूप से निम्नलिखित कार्य करती है:

  • आवश्यक उपकरणों की जाँच करती है
  • Docker स्थापना सत्यापित करती है
  • Apache HTTP Server 2.4.49 डाउनलोड करती है
  • Apache HTTP Server 2.4.51 डाउनलोड करती है
  • दोनों सोर्स ट्री निकालती है
  • Docker इमेज बनाती है
  • Apache कंटेनर शुरू करती है
  • विश्लेषण पर्यावरण बनाती है

उदाहरण आउटपुट

[INFO] Checking required tools...
[SUCCESS] Required tools found.

[INFO] Checking Docker...
[SUCCESS] Docker is running.

[INFO] Downloading Apache HTTP Server 2.4.49...
[SUCCESS] Apache 2.4.49 downloaded.

[INFO] Downloading Apache HTTP Server 2.4.51...
[SUCCESS] Apache 2.4.51 downloaded.

[INFO] Building Docker images...
[SUCCESS] Docker images built.

[INFO] Starting Apache containers...
[SUCCESS] Containers started.

=========================================================
[SUCCESS] Apache CVE Lab Setup Complete
=========================================================

पर्यावरण सत्यापित करें

चलाएँ

cd scripts

sudo python3 verify_lab.py

सफल सत्यापन

image

सत्यापन उपकरण जाँचता है:

  • Docker स्थापना
  • Docker डेमन
  • चल रहे कंटेनर
  • Apache संस्करण
  • Apache सोर्स कोड
  • लक्षित फ़ंक्शन
  • HTTP सेवाएँ
  • GDB उपलब्धता

पैच विश्लेषण चलाएँ

scripts निर्देशिका में जाएँ।

cd scripts

चलाएँ

sudo python3 analyze_patch.py

उदाहरण आउटपुट

image

नमूना विश्लेषण आउटपुट

Apache HTTP Server Patch Analysis Report

Security Findings

[MEDIUM]
Percent decoding introduced or modified

[MEDIUM]
Hexadecimal validation introduced or modified

[HIGH]
Directory traversal handling improved

[HIGH]
Path normalization pipeline updated

[CRITICAL]
Traversal protection strengthened

उत्पन्न रिपोर्ट

सफल निष्पादन के बाद निम्नलिखित रिपोर्ट उत्पन्न होती हैं:

analysis/
├── analysis.md
├── analysis.json
└── analysis.html

विश्लेषण पाइपलाइन

Load Apache Source
        │
        ▼
Extract Target Function
        │
        ▼
Extract Structural Information
        │
        ▼
Compare Vulnerable vs Patched
        │
        ▼
Security Reasoning
        │
        ▼
Generate Reports

पता लगाई गई सुरक्षा क्षमताएँ

  • Percent Encoding / Decoding
  • Hexadecimal Validation
  • Dot Segment Handling
  • Path Separator Normalization
  • URI Normalization Flags
  • Directory Traversal Protection

उत्पन्न निष्कर्ष

तर्क इंजन निम्नलिखित सुरक्षा सुधारों की पहचान करता है:

  • Percent decoding introduced
  • Hexadecimal validation introduced
  • Directory traversal handling improved
  • Path normalization updated
  • Traversal protection strengthened

शैक्षिक उद्देश्य

यह प्रोजेक्ट निम्नलिखित के लिए है:

  • सुरक्षा शोधकर्ता
  • CVE मूल कारण विश्लेषण सीखने वाले छात्र
  • सुरक्षित सॉफ्टवेयर इंजीनियरिंग
  • स्थैतिक सोर्स कोड विश्लेषण
  • पैच डिफ विश्लेषण
  • भेद्यता अनुसंधान

लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के तहत जारी किया गया है।

लेखक

Kunal Khandelwal

B.Tech Computer Science Engineering (Cyber Security)

Security Research | Application Security | Docker | Source Code Analysis

श्रेणियाँ