Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/rsrdesarrollo/generator-burp-extension
Scripting et AutomatisationSécurité WebTests d'IntrusionUtilitaires et Frameworks
GitHubrsrdesarrollo/generator-burp-extension

generator-burp-extension

Tout ce qu'il faut savoir sur la génération d'extensions Burp

Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
15827il y a 3 ansVérifié par Kitploit

Générateur d'extension Burp NPM version

Installation

Premièrement, installez Yeoman et generator-burp-extension avec npm (nous supposons que vous avez préinstallé node.js).

root@kitploit:~
npm install -g yo
npm install -g generator-burp-extension

Ensuite générez votre nouveau projet :

root@kitploit:~
yo burp-extension

Fonctionnalités des extensions Burp

Lorsque vous générez votre projet de plugin, le générateur vous demandera quelles fonctionnalités inclure dans votre plugin. Si vous êtes familier avec le développement d'extensions Burp, les noms des fonctionnalités seront suffisamment descriptifs, mais si vous débutez avec les extensions Burp, voici une brève description de ce qui peut être fait avec chaque fonctionnalité.

Onglet GUI d'extension

Onglet personnalisé qui sera ajouté à l'interface de Burp. Il est normalement utilisé pour ajouter une fonctionnalité (comme l'extension logger++) ou simplement pour permettre à l'utilisateur de configurer l'extension.

Onglet GUI d'édition de message

Onglet d'édition de message personnalisé qui sera ajouté à l'interface d'édition de message de Burp (Repeter, Intruder...). Il est normalement utilisé pour offrir une fonctionnalité d'édition/visualisation personnalisée dans les charges utiles des requêtes/réponses. Un exemple est l'extension JSON Beutifier.

Menu contextuel GUI

Un menu contextuel personnalisé sera ajouté à l'interface de Burp presque partout, en cliquant avec le bouton droit. Burp permet d'afficher des menus contextuels dans n'importe laquelle de ces situations :

  • Résultats des attaques Intruder.
  • Éditeur des positions de charges utiles Intruder.
  • Éditeur de requête.
  • Éditeur de réponse.
  • Visualiseur de requête non modifiable.
  • Visualiseur de réponse non modifiable.
  • Historique du proxy.
  • Résultats du scanner.
  • Fenêtre des résultats de recherche.
  • Tableau de la carte du site cible.
  • Arbre de la carte du site cible.

Un exemple simple de cette fonctionnalité est l'extension copy-as-python-requests, qui permet de copier une requête en tant que code Python (juste un exemple).

Écouteur HTTP / Écouteur Proxy

L'écouteur sera notifié des requêtes et réponses traitées par l'outil Proxy (écouteur Proxy) ou effectuées par tout outil Burp (écouteur HTTP). Les extensions peuvent effectuer une analyse ou une modification personnalisée de ces messages.

En d'autres termes, un écouteur Proxy intercepte les requêtes provenant du navigateur vers Burp et les réponses allant de Burp au navigateur. Un écouteur HTTP intercepte les requêtes sortantes de Burp vers le serveur web et les réponses entrantes provenant du serveur web.

Un exemple de plugin réel utilisant cette fonctionnalité d'extension est AutoRepeater

Générateur de charges utiles Intruder

Étendez les charges utiles Intruder en ajoutant des capacités de générateur personnalisé. Une utilisation possible de cette fonctionnalité pourrait être de générer des numéros IBAN valides aléatoires. Un exemple réel est l'extension Intruder file payload generator (je ne l'utilise pas, ce n'est qu'un exemple)

Processeur de charges utiles Intruder

Étendez les charges utiles Intruder en ajoutant des capacités de processeur personnalisé, un exemple possible pourrait être d'effectuer un chiffrement AES basé sur une clé statique.

Vérification du scanner

Lors de l'analyse, Burp demandera à la vérification d'effectuer une analyse active ou passive sur la requête de base, et de signaler tout problème de scanner identifié.

Fournisseur de points d'insertion du scanner

Lorsqu'une requête est analysée activement, le scanner invoquera ce fournisseur, et celui-ci doit fournir une liste de points d'insertion personnalisés qui seront utilisés dans l'analyse.

Action de gestion de session

Chaque action enregistrée sera disponible dans l'interface de règle de gestion de session pour que l'utilisateur la sélectionne comme action de règle. Les utilisateurs peuvent choisir d'invoquer une action directement en tant que telle, ou après l'exécution d'une macro.

Écouteur d'état d'extension

L'écouteur sera notifié lorsque l'extension est déchargée de Burp. Remarque : toute extension qui démarre des threads en arrière-plan ou ouvre des ressources système (telles que des fichiers ou des connexions de base de données) doit enregistrer un écouteur et terminer les threads/fermer les ressources lorsque l'extension est déchargée.

Écouteur du scanner

L'écouteur sera notifié des nouveaux problèmes signalés par l'outil Scanner. Les extensions peuvent effectuer une analyse personnalisée ou une journalisation des problèmes du scanner en enregistrant un écouteur de scanner.

Écouteur de changement de portée

L'écouteur sera notifié à chaque fois qu'un changement se produit dans la portée cible globale de Burp.

Probablement inutile car Burp ne permet pas d'accéder à la définition de la portée globale.

Compromis

Cette section explique certaines décisions prises lors du développement du modèle.

Pourquoi Java et pas Python/Ruby

Tout d'abord, je ne suis pas fan de Java

Comme vous le savez peut-être, BurpSuite permet de développer des extensions dans trois langages principaux : Java, Python et Ruby. En réalité, ce n'est pas tout à fait vrai. Burp permet de développer en Jython et JRuby. Le vrai problème est que, lorsque vous utilisez Jython ou JRuby dans une extension Burp, vous devez encore penser en Java (car c'est le langage principal de Burp), donc au final, vous développerez en Python et Java, mais avec beaucoup de problèmes pour intégrer votre projet à un véritable IDE, avec autocomplétion et ce genre de choses modernes.

Une autre bonne raison d'utiliser Java plutôt que Jython est que ce dernier est basé sur Python 2.7, et je n'utilise pas JRuby parce que je n'aime pas Ruby, c'est tout.

Tout est un Singleton (article principal)

Comme vous l'avez peut-être remarqué, toutes les implémentations d'une interface Burp suivent un pattern Singleton ; la raison principale est complètement subjective.

Le fait est que Burp est un excellent outil, mais il est un peu obscur concernant ses internes et probablement un peu désordonné. Ainsi, par exemple, Burp permet d'enregistrer plusieurs IHTTPListeners, mais vous perdrez des décisions importantes comme l'ordre d'appel de ces écouteurs. Ce genre de situations, à mon humble avis, peut obscurcir et rendre difficile la compréhension d'une extension Burp et la maintenabilité du code.

Vous pouvez voir chaque classe singleton comme un point de connexion nécessaire avec Burp, qui doit être unique. À partir de ce point de connexion, vous pouvez contrôler votre code, en réalisant n'importe quel type de conception orientée objet.

Licence

MIT © Raul Sampedro

Télécharger l’outil