Code de débogage restant

Code de débogage restant

La porte était le bug. Une faute de frappe a laissé la route de débogage ouverte.

Qu'est-ce que Code de débogage restant?

Le défaut ici ne réside pas dans la fonctionnalité mais dans le commutateur destiné à la désactiver. Une route de débogage se protège avec une variable d'environnement mal orthographiée, la comparaison devient undefined !== 'production' et la route répond en production. Vous balayerez les chemins de débogage jusqu'à ce que /api/_debug/env renvoie le mot de passe de la base de données, le secret de signature JWT et les clés cloud actives, puis forgerez un jeton d'administrateur avec ce secret. Le correctif effectue une rotation de chaque identifiant divulgué et exclut la route du bundle de production au moment de la construction.

Ce que vous apprendrez dans Code de débogage restant

Code de débogage restant — Étapes de la formation

  1. Évaluez la cible

    Bob est un acteur malveillant. Il gagne sa vie en extrayant des données d'entreprises qui ont laissé quelque chose exposé, puis en les vendant ou en les utilisant pour récupérer leur argent. Aujourd'hui, sa cible est Vessura, une plateforme d'approvisionnement sur laquelle d'autres entreprises fonctionnent. Il commence là où n'importe qui le ferait, sur le site public, en évaluant l'entreprise avant de chercher un moyen d'y entrer.

  2. Cartographier ce qui est exposé

    Rien sur le site public n'est inhabituel : un identifiant, un annuaire des fournisseurs, une page d'assistance. Mais les applications sont livrées avec plus que leur porte d’entrée. L'échafaudage de développeur laissé dans une version reste accessible à toute personne qui cherche, donc Bob cartographie chaque chemin auquel l'API du portail répond réellement.

  3. Suivez la route du débogage

    Bob reconstruit la demande signalée par l'analyse. Il pointe le testeur d'API vers le chemin de débogage et envoie un simple GET, sans connexion ni jeton, pour voir ce qu'il rend.

  4. Chaque secret à la fois

    La réponse n'est pas une page d'erreur. Il s'agit de l'ensemble de l'environnement de processus d'un serveur de production, transmis à une requête ne comportant aucune connexion.

  5. Forger un jeton d'administrateur

    Le dump a remis à Bob le JWT_SECRET , la clé que l'application utilise pour signer chaque jeton de session. De retour dans le même terminal, il crée son propre jeton, tamponne le rôle d'administrateur et le serveur l'acceptera comme une véritable connexion.

  6. Entrez en tant qu'administrateur

    Maintenant, Bob utilise le jeton. Il appelle l'API interne du fournisseur, une page destinée uniquement aux administrateurs connectés, et porte le jeton falsifié dans un en-tête Authorization afin que le serveur le traite comme tel. Le terminal de gauche contient toujours le jeton qu'il vient de frapper.

  7. Le grand livre est ouvert

    Le serveur a fait confiance au jeton et a répondu. Bob lit désormais le grand livre interne du fournisseur à partir d'une API publique, sans son propre compte.

  8. Contrôle des connaissances

    Vous venez de regarder un seul chemin restant transmettre tous les secrets, puis une session d'administration. Verrouillez pourquoi.

  9. L’alerte DLP débarque

    Vous possédez le portail d'approvisionnement de Vessura. Du jour au lendemain, la surveillance des pertes de données sortantes s'est déclenchée sur une réponse qui transportait des secrets en direct hors du serveur. Les opérations de sécurité vous ont envoyé les détails par e-mail.

  10. Ouvrir le gestionnaire

    Ouvrez le gestionnaire de débogage et regardez comment il décide de répondre ou non.

Couverture des référentiels de sécurité

OWASP Top 10

  • A02:2025 Security Misconfiguration
  • A05:2021 Security Misconfiguration

CWE

  • CWE-489 Active Debug Code
  • CWE-215 Insertion of Sensitive Information Into Debugging Code

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security