Burp Suite et simulation d'une réponse d'antivirus

Vous avez besoin de modifier des éléments HTTP à la volée pour un test ? Léa et Yohan vous montrent comment ils ont habilement utilisé Burp Suite pour répondre à ça.
par Léa BOULONGNE - Tech Lead / Développeuse
par Yohan NOUET - Développeur
| minutes de lecture
Il est fréquent de rencontrer des scénarios où la sécurité des applications web est une préoccupation majeure. C’est là que Burp Suite entre en jeu. Cette suite d’outils permet de tester la sécurité des applications web et de détecter les vulnérabilités potentielles. Dans cet article, nous allons montrer comment nous avons utilisé Burp Suite pour simuler une réponse d’antivirus et tester notre application.

Qu’est-ce que Burp Suite ?

Burp Suite, développé par PortSwigger, est une suite d’outils de sécurité web qui permet de tester la sécurité des applications web. Elle fournit une plateforme complète pour les tests de sécurité, y compris la découverte des vulnérabilités, l’analyse des réponses serveur et la simulation des attaques.

Comment ça fonctionne ?

Burp Suite utilise une technique appelée « Man-in-the-Middle » ou « Attaque de l’homme du milieu » pour intercepter les communications entre le client et le serveur. Cette technique permet de se positionner entre le client et le serveur, en interceptant les requêtes et les réponses. Pour ce faire, Burp Suite utilise un proxy qui permet de rediriger les requêtes et les réponses vers l’outil. Cela permet l’analyse des communications entre le client et le serveur, et la détection des vulnérabilités potentielles. De plus, Burp Suite peut également modifier les requêtes et les réponses pour simuler des attaques ou des scénarios de test spécifiques.

Comment nous avons utilisé Burp Suite ?

Nous avions besoin de tester la réponse de notre application lorsqu’un fichier infecté était uploadé dans notre application, mais nous n’avions pas d’antivirus configuré sur notre environnement de recette. Nous avons donc utilisé Burp Suite pour intercepter le flux retour de notre application et ajouter un header pour simuler la réponse de l’antivirus.

Configuration du proxy

Par défaut, seules les requêtes sont interceptées. Afin de pouvoir éditer la réponse de l’API, il est nécessaire d’ajouter l’interception des réponses également.


La configuration permet également d’appliquer des règles d’interception à l’aide de regex pour affiner les critères de capture des requêtes et réponses.

Interception et modification d’une réponse d’API

Après avoir terminé la partie configuration, nous pouvons ouvrir le navigateur intégré à l’outil et démarrer l’intercepteur. Toutes les requêtes vont maintenant transiter par l’application.


Sur ce navigateur, nous accédons à l'URL de notre application et nous pouvons à présent envoyer notre requête. Dans notre exemple, il s’agit d’un import de fichier CSV : Le fichier est importé via une boîte de dialogue de sélection et le traitement est réalisé lors du clic sur le bouton “Suivant” de notre application. La requête envoyée vers l’API est capturée par Burp Suite. Dans notre cas, nous n’apportons aucune modification à la requête. On la libère afin de la transmettre au serveur.

La réponse de l’API transite à son tour par l’outil.


Nous pouvons alors ajouter nos headers afin de simuler une détection de menace sur le fichier importé. Dans l’exemple, nous ajoutons le header ICAP X-Virus-ID dans la réponse. Nous pouvons ensuite transmettre la réponse modifiée au navigateur.

La présence du header est détectée par notre application et l’utilisateur est informé de la détection du virus via un bandeau d'erreur développé.

Conclusion

Avec cet outil, nous avons pu atteindre notre objectif qui était de simuler une réponse d’antivirus et tester notre application. Nous avons utilisé la Community Edition de Burp Suite, qui s’est révélée suffisante pour notre utilisation. Il existe d’autres outils de sécurité web, par exemple Zap Proxy qui avait été évoqué dans une précédente News. De notre côté, nous avons choisi Burp Suite qui nous semblait plus facile à mettre en œuvre pour notre cas d’utilisation, notamment avec son navigateur intégré qui possède directement les configurations proxy nécessaires au transit des requêtes.

FIRST-WORLD ANTIVIRUS PROBLEM

Search

tools

Contenus associés

DEPENDENCY-CHECK

Lorsque votre pipeline dependency-check échoue, que faire ? Cet article propose une méthode structurée pour analyser et corriger les vulnérabilités détectées.

Apache Kafka, un nouvel usage à venir ? KIP-932 Queues for Kafka

Kafka est une plateforme de data streaming offrant réplication, partitionnement et ordre des messages. Mal adapté au message queuing, la KIP-932 introduira des share groups pour plus de flexibilité et d’usages.

Podman : une alternative à Docker

Podman, alternative open source à Docker, offre une CLI similaire, compatible avec Docker Compose, rootless et sans démon. Facile à installer sous WSL2, il utilise les normes Open Container Initiative