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.txt · Dernière modification : 2025/07/15 15:36 de admin