Security Lab
Exploration offensive & recherche en cybersécurité. Je documente mes recherches, challenges CTF et analyses techniques pour améliorer mes compétences en sécurité offensive.
Challenges & Write-ups
Web
Reverse / Bash VM
Analyse technique détaillée
SQL Injection — Auth Bypass
FacileFormulaire de login sans validation côté serveur. L'input utilisateur est concaténé directement dans la requête SQL.
Interception avec Burp Suite. Le paramètre password est injecté dans une requête WHERE sans échappement. Pas de WAF détecté. Pas de prepared statements.
Payload : ' OR 1=1 -- dans le champ password. La condition OR 1=1 rend la clause WHERE toujours vraie, le -- commente le reste de la requête.
Accès admin obtenu. Extraction de la table users complète via UNION-based injection en 3 requêtes.
Toujours utiliser des prepared statements. Jamais de concaténation de strings dans les requêtes SQL. Implémenter un WAF en couche supplémentaire.
Bytecode Analysis — Custom VM
DifficileBinaire inconnu qui exécute un bytecode custom. Pas de symboles, pas de documentation. Le flag est caché dans la mémoire après exécution.
Reverse engineering avec Ghidra. Identification de 8 opcodes (PUSH, ADD, SUB, XOR, STORE, LOAD, JMP, HALT). Chaque instruction fait 1-3 bytes.
Réimplémentation complète de la VM en Python. Exécution pas-à-pas du bytecode avec dump mémoire après chaque instruction pour tracer le déchiffrement du flag.
Flag extrait après déchiffrement XOR en 3 passes. La clé était dérivée des 4 premiers bytes du bytecode lui-même.
La réimplémentation d'un interpréteur donne un contrôle total sur l'exécution. Toujours instrumenter avant de bruteforce.
JWT — Algorithm Confusion & Weak Secret
MoyenApplication avec authentification JWT. Le token est signé en HS256 mais le serveur accepte aussi alg: none.
Décodage du token avec jwt.io. Header modifiable. Le secret est faible (4 caractères). Le serveur ne valide pas l'algorithme de manière stricte.
Double approche : 1) Cracking du secret HMAC avec hashcat + rockyou.txt en 12 secondes. 2) Forge d'un token avec alg: none et payload admin.
Escalade de privilèges : user → admin. Accès complet au panel d'administration.
Forcer l'algorithme côté serveur (whitelist). Secret ≥ 256 bits. Implémenter une expiration courte + refresh token rotation.
OWASP Top 10 — Mini Audit
Vulnérabilité & Correction
SQL Injection — Requêtes paramétrées
XSS Stored — Échappement HTML
Broken Auth — JWT avec expiration & refresh
Sécurité des Smart Contracts
La cybersécurité appliquée aux smart contracts combine analyse de code, architecture système et compréhension des mécanismes DeFi. Voici les vulnérabilités que j'étudie et audite.
Reentrancy
Appels récursifs externes avant mise à jour d'état. Pattern checks-effects-interactions et ReentrancyGuard d'OpenZeppelin.
CriticalInteger Overflow
Dépassement arithmétique avant Solidity 0.8. SafeMath, checked arithmetic, et audit des calculs de tokens.
HighAccess Control Flaws
Fonctions admin non protégées, modifier manquants, initializers non sécurisés sur les proxies.
CriticalOracle Manipulation
Manipulation de prix via flash loans. Oracles décentralisés (Chainlink), TWAP, et validation multi-sources.
HighUpgradeable Proxy Risks
Storage collisions, uninitialized implementations, function selector clashes entre proxy et implementation.
MediumFront-Running & MEV
Transaction ordering exploitation, sandwich attacks, commit-reveal schemes et private mempools.
MediumReentrancy — checks-effects-interactions
Rapport de Pentest (anonymisé)
Rapport d'Audit de Sécurité
Client : [CONFIDENTIEL] — Date : Janvier 2026
Scope
Findings
Le paramètre id est injectable. Extraction complète de la base via UNION-based injection.
Le champ commentaire accepte du HTML non filtré. Possible vol de session admin.
Access-Control-Allow-Origin défini sur *. Requêtes cross-origin malveillantes possibles.
Absence de X-Content-Type-Options, X-Frame-Options et Content-Security-Policy.
Recommandations
Sandbox Éducatif
XSS Sandbox
ÉducatifTestez une attaque XSS dans un environnement sécurisé. Entrez du HTML/JS et observez le rendu.
SQLi Sandbox
ÉducatifSimulez une injection SQL sur un formulaire de login. Observez comment la requête est construite.