📢 Tweet Teaser posted
302 chars
Avec lien Substack · Soir 18h30–20h · 30% du mix

Un audit Laravel "propre" selon le client. Burp passé, endpoints testés. Mais 219 sourcemaps React en prod, accessibles à tous. L'équipe testait les requêtes. Personne n'avait lu le code que le serveur servait. https://unmotdepassepourri.substack.com/p/votre-appli-laravel-a-des-sourcemaps

📅 07/04 à 19h28 il y a 47j
✓ Publié 07/04 à 19h28
🧵 Thread posted
1871 chars
Lien en dernier tweet seulement · Midi 12h–13h30
1/8

1/ Audit d'un SaaS Laravel+React. L'équipe avait déjà passé Burp : "C'est bon, on a vérifié les endpoints." Problème : ils testaient ce qu'ils connaissaient. Ils n'avaient jamais cartographié ce que le navigateur recevait réellement.

2/8

2/ Une SPA React buildée en prod génère des bundles JS minifiés. Dedans : tous les appels API, les routes, les rôles, la logique métier. C'est obfusqué, pas chiffré. Et souvent accompagné de fichiers .map qui reconstituent le code source original.

3/8

3/ Ma méthodo : Katana pour crawler → téléchargement JS → recherche sourcemaps → analyse statique. Sur cette cible : 219 fichiers .map accessibles publiquement. Aucune restriction. Le build Vite les générait par défaut, personne ne les avait désactivés.

4/8

4/ Résultat : code source React complet, avec noms de variables, commentaires dev, structure projet. Cartographie exhaustive de l'API backend, incluant endpoints jamais exposés dans l'UI. Des routes admin cachées, des flags de features, des TODOs embarrassants.

5/8

5/ L'équipe avait testé ce que l'application *montrait*. Pas ce qu'elle *livraient*. Burp voit les requêtes que vous faites. L'analyse JS lit le manuel complet que le serveur envoie à chaque visiteur.

6/8

6/ Le grey-box, ce n'est pas juste "un compte légitime + Burp". C'est aussi : lire le JS reçu, analyser les sourcemaps, reconstruire la surface d'attaque côté client. Tester sans cartographier, c'est chercher à l'aveugle.

7/8

7/ Correctif : vite.json → sourcemap: false en prod. Vérif nginx : deny .map. Simple. Mais ça suppose qu'on ait pensé à regarder. La plupart des équipes ne le font jamais.

8/8

8/ L'audit Burp, c'est le minimum. L'analyse JavaScript sourcemaps, c'est ce qui différencie un test d'intrusion d'un fuzzing automatisé. Article complet : https://unmotdepassepourri.substack.com/p/votre-appli-laravel-a-des-sourcemaps

📅 13/04 à 12h48 il y a 41j
✓ Publié 13/04 à 12h48
💡 Standalone #1 posted
269 chars
Sans lien · Matin 7h30–9h · 70% du mix

L'équipe avait passé Burp sur leur SaaS Laravel. Trouvé et corrigé des trucs. Sauf qu'ils testaient les requêtes, pas le code livré au navigateur. 219 sourcemaps React en prod, code source complet accessible. Personne n'avait regardé ce que le serveur servait vraiment.

📅 09/04 à 08h11 il y a 45j
✓ Publié 09/04 à 08h11
💬 Standalone #2 posted
266 chars
Sans lien · Matin 7h30–9h · 70% du mix

Vous testez vos endpoints avec Burp. Bien. Mais avez-vous déjà téléchargé vos bundles JS de prod et cherché les .map ? Parce que le code source complet de votre SPA React est peut-être public, avec commentaires dev et routes admin cachées. Vite le génère par défaut.

📅 15/04 à 07h41 il y a 39j
✓ Publié 15/04 à 07h41
🔥 Provoc posted
261 chars
Sans lien · Valide avant de publier · Soir 18h30–20h

Si ton audit "grey-box" se résume à Burp + fuzzing d'endpoints, t'es juste un script kiddie avec une licence ZAP. Les vrais trous, ils sont dans les 200+ sourcemaps React que ton build Vite sert en prod depuis 18 mois. Mais t'as jamais regardé, hein ?

📅 17/04 à 19h49 il y a 37j
✓ Publié 17/04 à 19h49