Comment utiliser le décodeur Burp Suite

click fraud protection

Lorsque vous utilisez Burp Suite, vous pouvez souvent rencontrer des données utilisant une forme de codage. L'encodage est généralement conçu pour configurer les données afin que le système informatique puisse les gérer, malheureusement, il les rend généralement impossibles, ou du moins difficiles à lire. Dans certains cas, les données peuvent être décodées sous une forme lisible par l'homme, mais dans d'autres cas, les données encodées étaient déjà aléatoires et ne produiront pas de résultats intelligibles. Burp inclut un outil appelé "Decoder" pour aider à décoder les données afin que vous puissiez voir ce qu'il dit, ou s'il ne contient pas de données lisibles par l'homme.

Comment décoder les données

Pour ajouter des données au décodeur, vous pouvez soit les saisir manuellement, les coller à partir du presse-papiers, ou vous pouvez cliquer dessus avec le bouton droit dans les onglets Cible, Proxy, Intrus ou Répéteur et cliquer sur « Envoyer au décodeur ». Vous pouvez le faire avec des requêtes entières; Cependant, il sera généralement plus utile de le limiter aux données que vous souhaitez décoder en les mettant en surbrillance avant de cliquer avec le bouton droit.

Faites un clic droit sur les données que vous souhaitez décoder, puis cliquez sur « Envoyer au décodeur ».

Une fois que vous avez des données dans Decoder, vous pouvez les décoder en cliquant sur le bouton "Décoder en tant que" à droite et en sélectionnant le schéma de codage que vous pensez utiliser. Toutes les options fonctionneront pour n'importe quelle entrée, mais elles pourraient ne pas produire de caractères imprimables, ce qui signifie généralement qu'elle n'utilisait pas cet encodage ou que les données étaient simplement générées de manière aléatoire.

Les encodages parmi lesquels vous pouvez choisir sont Plain, URL, HTML, Base64, ASCII hex, Hex, Octal, Binary et Gzip. Sélectionnez l'un d'entre eux dans la liste déroulante et Burp affichera la sortie dans une nouvelle zone ci-dessous. La nouvelle boîte est livrée avec son propre ensemble de commandes identiques, donc si vous constatez que la sortie est toujours encodée, vous pouvez la décoder à nouveau, même si le type de décodage est différent. Par exemple, si vous décodez une chaîne Base64 et trouvez une autre chaîne Base64, vous pouvez également la décoder.

Astuce: vous pouvez enchaîner plusieurs niveaux de décodage; vous n'êtes pas limité à une ou deux étapes.

Vous pouvez décoder les données, puis décoder à nouveau le résultat, s'il existe plusieurs niveaux de codage.

Comment encoder des données

Vous pouvez également utiliser Decoder pour encoder des données dans toutes les méthodes d'encodage disponibles en cliquant sur « Encoder en tant que » et en sélectionnant une méthode d'encodage. Ceci est utile si vous devez décoder une chaîne, la modifier, puis la ré-encoder pour insérer la modification dans une requête Web.

Astuce: L'encodage n'est pas particulièrement intelligent; par exemple, les caractères alphanumériques n'ont pas besoin d'être encodés dans les URL car ce sont des caractères valides, mais l'encodeur d'URL encode chaque caractère.

Vous pouvez également générer un hachage d'une chaîne en cliquant sur « Hash » puis en sélectionnant un algorithme. Burp n'offre pas de moyen d'inverser un hachage car cela n'est pas possible car les hachages sont des fonctions à sens unique.

Astuce: n'importe quelle combinaison de décodage, d'encodage et de hachage est possible avec Decoder, bien que certains ordres de fonctionnement n'aient pas de sens logique.

Vous pouvez également utiliser Decoder pour encoder des données ou les hacher.

Vous pouvez décoder, encoder ou hacher une partie d'une chaîne dans Decoder en la mettant en surbrillance avant de sélectionner la manière dont elle doit être gérée. Ceci est utile si vous avez deux variables codées avec des méthodes différentes.

Remarque: Decoder ne prend pas en charge les sous-onglets, vous ne pouvez donc gérer qu'une seule entrée à la fois. Veillez à copier le résultat d'un processus avant d'envoyer plus de données à Decoder, sauf si vous êtes d'accord pour les perdre.