Web14 : Problèmes de sécurité dans le protocole HTTP

Web14 : Problèmes de sécurité dans le protocole HTTP

Cet article présente certains problèmes de sécurité dans le protocole HTTP , soulevés dans deux documents RFC 7230 et RFC 7231. Les exemples de l'article sur des erreurs spécifiques sont référencés dans OWASP.

1. Risques liés à des facteurs intermédiaires

HTTP permet l'utilisation d'intermédiaires pour répondre aux demandes via une série de connexions. Il existe trois éléments intermédiaires communs : proxy, passerelle et tunnel.

Une demande ou une réponse devra passer par les points A, B et C. Ils peuvent accéder aux informations sensibles transmises, telles que les informations personnelles des utilisateurs ou des organisations. Le manque d’attention accordé par les intermédiaires à la sécurité et à la confidentialité peut conduire à un large éventail d’attaques potentielles.

Les développeurs de systèmes et les développeurs doivent prendre en compte les facteurs de confidentialité et de sécurité lors du processus de conception, de codage et de déploiement du système.

Les utilisateurs doivent être conscients des dangers liés à l’utilisation de proxys ou de passerelles non fiables.

2. Fractionnement des réponses

Le fractionnement des réponses (alias injection CRLF) est une technique d’exploitation Web populaire. L'attaquant envoie des données codées, dans certains paramètres de la requête, qui sont ensuite décodées et répétées dans un certain champ de l'en-tête de réponse.

Si ces données sont un symbole représentant la fin de la réponse et qu'une réponse ultérieure est initiée, la réponse originale sera divisée en deux et le contenu de la deuxième réponse sera contrôlé par l'attaquant. L'attaquant peut alors effectuer une autre requête au sein de la même connexion persistante et faire croire au destinataire (y compris les intermédiaires) que cette seconde réponse est une réponse à la seconde requête.

3. Demander de la contrebande

La contrebande de requêtes est une technique qui exploite les différences dans le traitement des requêtes par différents types de serveurs pour masquer des requêtes apparemment inoffensives ajoutées à la requête d'origine.

Considérons l'exemple suivant :

Supposons qu'une requête POST contienne deux champs « Content-length » dans l'en-tête avec deux valeurs différentes. Certains serveurs refuseront cette demande (IIS et Apache), mais d'autres non. Par exemple, SunONE W/S 6.1 utilise le champ Content-length en premier, tandis que sunONE Proxy 3.6 utilise le champ Content-length en second.

En supposant que SITE soit le DNS d'un SunONE W/S, situé derrière un proxy SunONE, il existe un fichier poison.html situé sur le SunONE W/S. Voici comment exploiter la fraude de requêtes HTTP en fonction des incohérences de traitement entre deux serveurs :

Web14 : Problèmes de sécurité dans le protocole HTTP

[Notez que chaque ligne se termine par un CRLF (« »), sauf la ligne 10]

Considérons ce qui se passe lorsqu'une requête est envoyée à W/S via le serveur proxy. Tout d'abord, le proxy analysera la requête des lignes 1 à 7 (bleues) et rencontrera deux champs Content-Length. Comme mentionné ci-dessus, il ignorera le premier champ et comprendra que le corps de la requête fait 44 octets. Par conséquent, il traite les données des lignes 8 à 10 comme le corps de la première requête (des lignes 8 à 10, les données font exactement 44 octets). Le proxy analysera alors les lignes 11 à 14 (en rouge) comme deuxième requête du client.

Voyons maintenant comment W/S interprète les données ci-dessus, telles qu'elles sont transmises depuis le proxy. Contrairement aux proxys, W/S utilisera le premier champ Content-Length et l'interprétera comme suit : la première requête n'a pas de corps et la deuxième requête commence à partir de la ligne 8 (notez que W/S analysera à partir de la ligne 11 comme valeur du champ Bla).

Voyons ensuite comment la réponse est renvoyée au client. La requête que W/S comprend est « POST /foobar.html » (à partir de la ligne 1) et « GET /poison.html » (à partir de la ligne 8), il enverra donc au client 2 réponses avec le contenu de la page foobar. html et poison.html. Le proxy comprend que ces 2 réponses correspondent à 2 requêtes : "POST /foobar.html" (de la ligne 1) et "GET /page_to_poison.html" (ligne 11). Le proxy mettra en cache le contenu de la page poison.html correspondant à l’URL « page_to_poison.html » (empoisonnement du cache). A partir de là, lorsque le client demandera "page_to_poison.html", il recevra le contenu de la page poison.html.

4. Attaque basée sur le chemin du fichier

Les serveurs Web utilisent fréquemment leur système de fichiers local pour gérer le mappage des noms de fichiers dans les URI avec les ressources réelles du serveur. La plupart des systèmes de fichiers ne sont pas conçus pour protéger contre les chemins de fichiers malveillants. Par conséquent, le serveur doit éviter d’accéder aux fichiers système importants.

Par exemple, UNIX, Microsoft Windows et plusieurs autres systèmes d'exploitation utilisent « .. » comme élément de chemin pour représenter un répertoire situé un niveau au-dessus du fichier/répertoire actuel. Sans contrôle d'entrée et autorisation appropriés, les fichiers/dossiers sensibles du système sont accessibles en saisissant des chemins pointant vers ces fichiers/dossiers.

5. Types d'attaques : injection de commandes, injection de code, injection de requêtes

[Les serveurs Web utilisent souvent les paramètres de l'URI comme entrée pour exécuter des commandes système et des requêtes de base de données. Cependant, les données reçues dans la demande ne sont pas toujours fiables. Un attaquant peut créer et modifier des composants dans la requête (comme des méthodes, des champs dans l'entête, le corps...), pour exécuter des commandes système, interroger la base de données...

Par exemple, l'injection SQL est une attaque courante dans laquelle le serveur Web reçoit des paramètres dans l'URI qui font partie de la requête SQL. Ainsi, un attaquant peut tromper le serveur web pour qu'il exécute des requêtes SQL illégales, afin de voler ou de saboter la base de données.
En général, les données soumises par les utilisateurs ne doivent pas être utilisées directement pour effectuer des opérations sur le serveur. Ces données doivent passer par des filtres qui définissent ce qui est valide et ce qui ne l'est pas, éliminant ainsi les données indésirables.

6. Révélation d'informations personnelles

Les clients contiennent souvent de nombreuses informations personnelles, notamment des informations fournies par l'utilisateur pour interagir avec le serveur (telles que le nom d'utilisateur, le mot de passe, l'emplacement, l'adresse e-mail, etc.) et des informations sur les activités de navigation Web de l'utilisateur (historique, favoris, etc.). Lors de la mise en œuvre, il convient de veiller à éviter les points susceptibles de révéler ces informations privées.

7. Révéler des informations sensibles dans l'URI

Les URI, de par leur conception, sont destinés à être partagés avec tous les utilisateurs et leur sécurité n'est pas garantie. Les URI sont souvent affichés dans le code source du site Web et stockés dans des signets sans mécanismes de protection. Par conséquent, il sera dangereux si l’URI contient des informations sensibles, des informations personnelles, etc.

Évitez d'utiliser la méthode GET pour envoyer des informations personnelles au serveur, car elles seront affichées dans l'URI. Utilisez plutôt la méthode POST.

8. Révéler les informations sur les logiciels utilisés

Les champs User-Agent, Via, Server dans l'en-tête fournissent généralement des informations sur le logiciel utilisé par l'expéditeur. En théorie, cela permet aux attaquants d’exploiter plus facilement les vulnérabilités connues de ces logiciels.


Comment désactiver le centre de notifications sur Windows 10 ?

Comment désactiver le centre de notifications sur Windows 10 ?

Le Centre de notifications sur Windows 10 est très utile. Cependant, de nombreux utilisateurs ne se soucient souvent pas de cette fonctionnalité. En particulier, les notifications qui apparaissent fréquemment dans le coin droit de l’écran mettent non seulement les utilisateurs mal à l’aise, mais ralentissent également votre ordinateur. Par conséquent, vous pouvez désactiver le centre de notification pour que votre ordinateur fonctionne plus rapidement.

En savoir plus sur Windows 10 LTSC

En savoir plus sur Windows 10 LTSC

Certaines entreprises envisagent de mettre en œuvre le canal de maintenance à long terme de Microsoft. Comme pour toutes les autres options du système d'exploitation Windows 10, Windows 10 LTSC a ses propres avantages et inconvénients.

Comment ajouter/supprimer lapplication XPS Viewer dans Windows 10

Comment ajouter/supprimer lapplication XPS Viewer dans Windows 10

L'application XPS Viewer vous permet de lire, copier, imprimer, signer et définir des autorisations pour les documents XPS. Ce guide vous montrera comment ajouter (installer) ou supprimer (désinstaller) l'application XPS Viewer pour tous les utilisateurs de Windows 10.

Comment convertir des fichiers image en PDF sous Windows 10

Comment convertir des fichiers image en PDF sous Windows 10

Pour convertir les formats de fichiers image en fichiers PDF sous Windows 10, nous pouvons immédiatement utiliser le mode de conversion disponible sur le système sans avoir à installer de logiciel.

Comment utiliser le mode IE pour remplacer Internet Explorer récemment abandonné

Comment utiliser le mode IE pour remplacer Internet Explorer récemment abandonné

À partir de Windows 11, Internet Explorer sera supprimé. Dans cet article, LuckyTemplates vous montrera comment utiliser Internet Explorer sur Windows 11.

Instructions pour lier la clé de produit Windows 10 au compte Microsoft

Instructions pour lier la clé de produit Windows 10 au compte Microsoft

Cette nouvelle fonctionnalité permet de réactiver Windows 10 sans avoir à contacter Microsoft lorsque vous modifiez le matériel de votre ordinateur, notamment en remplaçant la carte mère et le processeur) ou le disque dur.

Qu’est-ce que l’hôte du fournisseur Device Association Framework et pourquoi s’exécute-t-il sur un ordinateur ?

Qu’est-ce que l’hôte du fournisseur Device Association Framework et pourquoi s’exécute-t-il sur un ordinateur ?

Chaque fois que vous ouvrez le Gestionnaire des tâches sur un ordinateur Windows 8 ou Windows 10, vous verrez un certain nombre de processus nommés « Hôte du fournisseur de framework d'association de périphériques » en cours d'exécution. Alors, qu’est-ce que « l’hôte du fournisseur de cadre d’association de périphériques » ? Et pourquoi ce processus s’exécute-t-il sur votre ordinateur Windows ? Est-ce un virus ou pas ? Toutes les réponses seront dans l'article ci-dessous de LuckyTemplates.

7 mesures à ne pas ignorer pour accroître la sécurité des portefeuilles électroniques

7 mesures à ne pas ignorer pour accroître la sécurité des portefeuilles électroniques

La technologie de paiement mobile a évolué au fil des années, accélérant le commerce à un rythme effréné, conduisant à la naissance des portefeuilles électroniques. Vous trouverez ci-dessous 7 mesures de sécurité importantes pour contribuer à accroître la sécurité des portefeuilles électroniques.

De magnifiques fonds décran scintillants de Noël 2024 pour votre ordinateur

De magnifiques fonds décran scintillants de Noël 2024 pour votre ordinateur

Noël 2024 approche, vous souhaitez non seulement décorer votre maison mais aussi apporter l'ambiance de Noël à votre ordinateur bien-aimé. Téléchargez l'un de ces fonds d'écran de Noël gratuits.

Cest la raison pour laquelle votre ordinateur devient de plus en plus lent

Cest la raison pour laquelle votre ordinateur devient de plus en plus lent

Le cache correspond aux données des sessions précédentes d'applications et de programmes que le système d'exploitation enregistre pour permettre de télécharger plus rapidement les données des sessions ultérieures. Cependant, après une longue période sans nettoyage, le cache remplira votre disque dur et occupera tout votre espace disque dur.