File Upload – Exécution de code à distance (RCE)
Exploitation d’un mécanisme d’upload insuffisamment contrôlé permettant le dépôt et l’exécution d’un web shell.
Voir le lab sur PortSwiggerRésumé exécutif
Vulnérabilités identifiées
- Upload non réglementaire de fichiers dangereux (CWE-434)
Impact principal
- Exécution de code malveillant côté serveur
Niveau de risque
- Elevé
Résumé
- La fonctionnalité permettant de transférer des fichiers sur le serveur vérifie mal le type desdits fichiers, permettant à un attaquant non authentifié de transférer un fichier lui permettant d'exécuter du code malveillant sur le serveur. Un attaquant pourrait ainsi prendre le contrôle du serveur applicatif, altérer le site web et ainsi interrompre le service. Faille critique pour le SI, remédiation immédiate suggérée
Technique
Contexte
- Fonctionnalité testée :Fonctionnalité d’upload
- Hypothèse :Filtrage insuffisant des types de fichiers
Objectifs
- Identifier les failles potentielles liées au mécanisme d'upload
- Obtenir une exécution de commandes serveur
Périmètre et cadre
- Tests réalisés exclusivement dans un environnement de laboratoire contrôlé
- Aucune donnée réelle ni système de production impacté
Méthodologie
Proof-Of-Concept
- Déploiement d’un web shell :
<?php echo file_get_contents('/home/carlos/secret'); > - Validation de l'exploitabilité via un web shell de test
- Confirmation contrôlée de l'exécution de commandes côté serveur
Outils
- Navigateur: Google Chrome (latest stable)
- Burp Suite (Community Edition)
- Environnement de compromission isolé et contrôlé
- Fichier
fichier.php(webshell)
Résultats
- Mauvaise prise en charge des fichiers uploadés.
- Exécution de commandes arbitraires
- Compromission du serveur applicatif
- Classement OWASP Top 10 : A02:2025 - Security Misconfiguration
- Sévérité :
- Confidentialité: Impact élevé (exposition de données utilisateurs)
- Intégrité: Impact potentiel
- Disponibilité: Impact indirect
- Scoring CVSS :
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Détail
- AV (Attack Vector) - N(Network) - Exploitable via Internet
- AC (Attack Complexity) - L(Low) - Aucun contournement complexe requis
- PR (Privileges required) - N(None) - Aucun compte requis
- UI (User Interaction) - N(None) - Pas d'action utilisateur nécessaire
- S (Scope) - U(Unchanged) - Impact sur le même composant
- C (Confidentiality) - H(High) - Lecture fichiers serveur
- I (Integrity) - H(High) - Modification possible
- A (Availability) - H(High) - Possibilité de destruction des données
- Scoring final: 9.8 - Critique
Potentiel impact métier
- Compromission potentielle de données sensibles hébergées sur le serveur applicatif
- Risque de non-conformité réglementaire (RGPD, exigences de sécurité internes)
- Atteinte possible à la disponibilité du service et à la confiance des utilisateurs
Remédiation
- Immédiat
- Désactivation de l’exécution des fichiers uploadés
- Suppression des éventuels fichiers malveillants déjà uploadés
- Court terme
- Validation stricte du type MIME et de l'extension côté serveur (zero-trust pour les données fournies par le client)
- Vérification du magic number
- Stockage des fichiers hors du répertoire du site
- Mise en place de journalisation et d'alertes sur les uploads
- Long terme
- Sensibilisation continue des équipes de développement au Secure By Design
- Revue régulière des politiques de sécurité applicative.
- Mise en place d'un WAF
Hypothèses et limites
- Tests limités au périmètre évalué
- Absence d'analyse du code source
Références
OWASP
Classification Top 10
- OWASP : A02:2025 - Security Misconfiguration
- OWASP : A06:2025 - Insecure Design
- OWASP : A08:2025 - Software or Data Integrity Failures
Articles liés
- OWASP : Unrestricted File Uploads
- OWASP : Test Upload of Malicious Files
- OWASP : Test Upload of Unexpected File Types
- OWASP : File upload Cheat Sheet
MITRE
- MITRE (CWE-434) : Unrestricted Upload of File with Dangerous Type
- MITRE : Program Upload
- MITRE : Malware Upload
Compétences démontrées
- Identification et exploitation de vulnérabilités web
- Analyse de risques applicatifs
- Application des standards OWASP et MITRE
- Sensibilisation aux risques de sécurité
- Compétences rédactionnelles
- Mise en place de recommandations côté métier