Teknik - CAIDO, le proxy offensif, ou la complexité de coder un proxy - Parce que... c'est l'épisode 0x33C!
Contenu de l'épisode
- 19 septembre 2026 - Montréal Canada - Bsides Montréal 2026
- 22 septembre 2026 - Belgique - BE-Cyber
- 24 au 25 septembre 2026 - Belgique - BruCON
- 1er au 3 octobre 2026 - Krakow, Pologne - AligatorCon
- 13 et 14 novembre 2026 - Worldwide - DEATHCon
- 16 au 19 novembre - Rennes, France - European Cyber Week 2026
- 25 et 26 février 2027 - Québec, Canada - SéQCure 2027
- I.A. Café - Enquête au cœur de la recherche sur l’intelligence artificielle
- 16 novembre 2026 - Paris, France - CNIL - Convaincre ou manipuler ? L'éthique du numérique à l'épreuve des urnes
- 13 au 16 octobre 2026 - Montréal, Canada - MTL Connecte
- 5 novembre 2026 - Montréal, Canada - CISO Open Mic Montréal 2026
Cette description a été faite à l’aide de GLM 5.3 Flash, à partir de la transcription qui a été effectuée par ElevenLabs Scribev2. Aucune vérification humaine n’a été faite. Si vous découvrez des erreurs ou des inexactitudes, vous pouvez m’en faire part afin que je procède aux modifications appropriées.
Présentation de Caido
Cet épisode technique de Polysécure accueille Émile Fugulin et Christopher Guay, cofondateurs de Caido, un projet développé depuis cinq ans. Tous deux proviennent de l’ingénierie, Christopher dirigeant la technique et Émile venant de la sécurité web. Leur produit se définit comme un proxy offensif, une boîte à outils pour les audits web et d’API, destiné aux chasseurs de primes, aux testeurs d’intrusion et aux équipes red team.
Le fonctionnement du proxy
Le proxy s’insère entre le navigateur et l’API, qui lui envoie toutes ses requêtes. La première étape consiste à faire accepter au navigateur un certificat généré par l’outil afin de terminer la connexion HTTPS localement. Le navigateur envoie ensuite une requête Connect pour établir un tunnel vers le serveur distant. Un proxy ordinaire laisse passer des octets chiffrés sans les lire, mais Caido se substitue au serveur distant et termine lui-même le tunnel pour pouvoir lire et modifier le trafic.
TLS et détection de robots
L’interception ne pose pas de difficulté puisque le certificat est installé sur la machine de l’utilisateur, peu importe la version de TLS. Le défi se situe du côté sortant, où la détection de robots analyse la structure du paquet TLS, des extensions comme Grease signalant un vrai navigateur, leur absence trahissant un automate. Les CDN comme Cloudflare ou Akamai croisent les empreintes TLS avec les en-têtes HTTP et bloquent facilement selon la réputation des adresses IP. Des plugins répartissent le trafic sur plusieurs IP, mais Amazon a restreint l’usage de son API Gateway après des abus, et les proxys résidentiels demeurent une zone grise sans support officiel.
Une stack HTTP maison
Le modèle de base demeure la paire requête-réponse, majoritairement en HTTP/1.1, avec un support récent de HTTP/2. La spécification HTTP/1, ancienne et vague, ne sépare en-têtes et corps que par des caractères de contrôle. Cette ambiguïté a donné naissance aux attaques de désynchronisation, où un proxy et un backend interprètent différemment les frontières des requêtes, notamment entre le content-length et le transfer-encoding, permettant d’injecter des requêtes dans une connexion réutilisée pour plusieurs clients. Les stacks standard, rigoureuses surtout en Rust, ne conviennent pas pour injecter des données