cyber:vulnerabilite:insecure_code_management
Différences
Ci-dessous, les différences entre deux révisions de la page.
| cyber:vulnerabilite:insecure_code_management [2025/07/15 15:28] – créée admin | cyber:vulnerabilite:insecure_code_management [2025/07/15 15:36] (Version actuelle) – admin | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Insecure Code Management ====== | ====== Insecure Code Management ====== | ||
| + | |||
| + | ===== Description ===== | ||
| + | **Le passage en production d'une application web omet parfois de supprimer certaines informations qui ne devraient pas être exposées (fichiers de configuration, | ||
| + | |||
| + | Les vulnérabilités de type Insecure Code Management ou Gestion de code non sécurisée peuvent représenter un risque en matière de sécurité dans les applications web.** | ||
| + | |||
| + | Voici une description des différents types de vulnérabilités associées à ce domaine : | ||
| + | * **Inclusion de fichiers non sécurisée (Insecure File Inclusion)** : cette vulnérabilité se produit lorsque le code de l' | ||
| + | * **Gestion incorrecte des droits d' | ||
| + | * **Gestion faible des erreurs (Weak Error Handling)** : une mauvaise gestion des erreurs peut révéler des informations sensibles sur l' | ||
| + | * **Gestion non sécurisée des mots de passe (Insecure Password Management)** : lorsque les mots de passe sont stockés de manière non sécurisée, | ||
| + | * **Gestion de sessions non sécurisées (Insecure Session Management)** : une gestion de session faible peut permettre à un attaquant de voler des cookies de session ou de manipuler les paramètres de session pour usurper l' | ||
| + | |||
| + | Un utilisateur malveillant peut alors mettre à profit ces informations pour gagner des accès illégitimes sur l' | ||
| + | |||
| + | ===== Prérequis d' | ||
| + | |||
| + | Pour exploiter cette famille de vulnérabilité, | ||
| + | |||
| + | ==== Connaissances nécessaires ==== | ||
| + | * Connaissances des divers risques liés à de mauvaises pratiques de développement. | ||
| + | |||
| + | ==== Outils nécessaires ==== | ||
| + | * Outils de modification et/ou d' | ||
| + | * Outils de fuzzing (dirbuster, gobuster, feroxbuster, | ||
| + | * En fonction de la nature des ressources obtenues, utiliser un outil adapté à son exploitation (MySLQ, git, binwalk, exiftool, etc.). | ||
| + | |||
| + | ===== Flux d' | ||
| + | ==== Explorer ==== | ||
| + | |||
| + | Naviguer sur l' | ||
| + | ==== Expérimenter ==== | ||
| + | |||
| + | Rechercher des informations sensibles dans chaque ressource identifiée, | ||
| + | |||
| + | ==== Exploiter ==== | ||
| + | |||
| + | ===== Conséquences potentielles ===== | ||
| + | |||
| + | L' | ||
| + | * L’accès à des ressources sensibles ; | ||
| + | * L’accès à des fonctionnalités sensibles ; | ||
| + | * La compromission du serveur hébergeant l' | ||
| + | |||
| + | ===== Contre-mesures ===== | ||
| + | |||
| + | Les contre-mesures suivantes peuvent être mises en œuvre : | ||
| + | * Adopter une politique de développement sécurisé (SSDLC) en prenant en compte la sécurité à chaque phase du cycle de vie du développement ; | ||
| + | * Réaliser des tests de sécurité (tests d' | ||
| + | * Sensibiliser les équipes de développement aux meilleures pratiques en termes de développement et de sécurité. | ||
| + | |||
| + | ====== Comment cela fonctionne ====== | ||
| + | Les scénarios suivants peuvent être joués via l’exploitation de ce type de vulnérabilité : | ||
| + | * Un attaquant parvient à identifier une extension qui n'est pas bloquée par le site victime. En énumérant les endpoints grâce à un fuzzer, il découvre un fichier de backup contenant des identifiants de connexion à la base de données de l' | ||
| + | * Un attaquant parvient à identifier un répertoire " | ||
| + | |||
| + | ===== Exemple 1 ===== | ||
| + | |||
| + | Considérons le fichier " | ||
| + | <code apache> | ||
| + | < | ||
| + | Order allow,deny | ||
| + | Deny from all | ||
| + | Satisfy All | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Cette configuration permet de bloquer toutes les requêtes vers des fichiers portant les extensions listées dans la directive " | ||
| + | |||
| + | Or certains éditeurs de texte, en ouvrant un fichier, créent une copie locale avec l' | ||
| + | |||
| + | ===== Exemple 2 ===== | ||
| + | |||
| + | L' | ||
| + | |||
| + | Cette attaque survient lorsque le serveur Apache est mal configuré pour autoriser l' | ||
| + | |||
| + | ==== Correction de la vulnérabilité : ==== | ||
| + | |||
| + | Pour corriger cette vulnérabilité, | ||
| + | |||
| + | Exemple de correction dans la configuration Apache en quelques étapes : | ||
| + | |||
| + | 1 - Ouvrir le fichier de configuration Apache avec un éditeur de texte : | ||
| + | |||
| + | < | ||
| + | sudo nano / | ||
| + | </ | ||
| + | |||
| + | 2 - Recherchez les directives qui définissent les options pour les répertoires concernés et supprimez ou commentez l' | ||
| + | |||
| + | <code apache> | ||
| + | < | ||
| + | |||
| + | Options -Indexes | ||
| + | AllowOverride None | ||
| + | Require all granted | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | 3 - Sauvegardez et fermez le fichier de configuration. | ||
| + | |||
| + | 4 - Redémarrez Apache pour appliquer les modifications : | ||
| + | |||
| + | < | ||
| + | sudo service apache2 restart | ||
| + | </ | ||
| + | |||
| + | Avec cette configuration, | ||
| + | |||
| + | ====== References ====== | ||
| + | |||
| + | URL : | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | ====== Retour fiches vulnérabilités ====== | ||
| + | * [[cyber: | ||
| + | |||
cyber/vulnerabilite/insecure_code_management.1752586107.txt.gz · Dernière modification : 2025/07/15 15:28 de admin
