Cyber security

Apache HTTP Server Vulnerability Testing Tool

This repository provides a Proof of Concept (PoC) for testing various vulnerabilities in the Apache HTTP Server, including Filename Confusion Attacks, SSRF, Denial of Service, and others related to recent CVEs.

The tool sends crafted HTTP requests to assess whether the server is vulnerable to certain types of attacks.

Features

  • Tests for multiple vulnerabilities including:
    • CVE-2024-38472: Apache HTTP Server on Windows UNC SSRF
    • CVE-2024-39573: mod_rewrite proxy handler substitution
    • CVE-2024-38477: Crash resulting in Denial of Service in mod_proxy
    • CVE-2024-38476: Exploitable backend application output causing internal redirects
    • CVE-2024-38475: mod_rewrite weakness with filesystem path matching
    • CVE-2024-38474: Weakness with encoded question marks in backreferences
    • CVE-2024-38473: mod_proxy proxy encoding problem
    • CVE-2023-38709: HTTP response splitting
  • Provides an easy-to-use command-line interface for testing various endpoints.

How It Works

The tool performs HTTP requests to potential endpoints that might be vulnerable to confusion attacks or misconfigurations. It checks for specific patterns and encodings that could lead to unauthorized access or system failures.

Testing Targets

The tool checks for vulnerabilities on the following paths:

  • php-info.php
  • xmlrpc.php
  • adminer.php
  • bin/cron.php
  • cache/index.tpl.php
  • cgi-bin/redir.cgi
  • Others with encoded URLs for potential bypass.

Getting Started

Prerequisites

  • Python 3.x installed on your system.
  • Requests library for Python to send HTTP requests.

You can install the required Python library using:

pip install requests

Installation

Clone this repository:

git clone https://github.com/mrmtwoj/apache-vulnerability-testing.git
cd apache-vulnerability-testing

Usage

To use the tool, provide the target URL you want to test:

python3 poc_vulnerability_testing.py --target http://<target-ip>

For example:

python3 poc_vulnerability_testing.py --target http://192.168.1.10

Varshini

Varshini is a Cyber Security expert in Threat Analysis, Vulnerability Assessment, and Research. Passionate about staying ahead of emerging Threats and Technologies.

Recent Posts

sort Command in Linux: Sort Text, Numbers, Columns, and More

The sort command in Linux reads lines from files or standard input and writes them to standard…

18 hours ago

wall Command in Linux: Broadcast Messages to Logged-In Users

The wall command in Linux sends a message to the terminals of all currently logged-in users. The…

18 hours ago

journalctl Command in Linux: Query and Filter System Logs

journalctl queries logs collected by systemd-journald, the systemd logging daemon. It gives you structured access to kernel…

18 hours ago

stat Command in Linux: View File and Filesystem Metadata

The stat command in Linux displays detailed metadata about files and filesystems. Where ls gives a condensed summary suitable…

19 hours ago

groupadd Command in Linux: Create Groups and Set GID Options

In Linux, groups organize user accounts and define shared access to files and resources. Every…

2 days ago

touch Command in Linux: Create Files and Update Timestamps

The touch command in Linux does two things: it creates new empty files, and it updates the…

2 days ago