Hacking with PHP
Hacking with PHP
Résumé :
Introduction
Le livre « Hacking with PHP » de Paul Hudson est paru en 2009 et reste à ce jour l'un des guides les plus atypiques sur le langage PHP. Contrairement aux manuels classiques qui commencent par la syntaxe et les bases, ce livre plonge immédiatement le lecteur dans l'univers des attaques réelles, des vulnérabilités et des méthodes de protection. Avec 540 pages, l'auteur a la possibilité d'analyser en détail aussi bien les sujets fondamentaux que les sujets avancés. Le titre peut être trompeur : il ne s'agit pas d'un manuel pour pirates informatiques, mais d'une étude approfondie de la sécurité des applications web en PHP du point de vue de l'attaquant, afin que le développeur puisse mieux protéger son code.
De quoi parle le livre
Le livre est construit sur le principe de la « preuve par l'absurde » : l'auteur montre comment un attaquant peut exploiter les erreurs typiques d'un programmeur, et explique immédiatement comment corriger ces erreurs. Les principaux sujets abordés incluent :
- Les injections SQL — des simples aux aveugles, avec des exemples en PHP et MySQL.
- XSS (Cross-Site Scripting) — tous les types d'attaques et les méthodes d'échappement des sorties.
- CSRF (Cross-Site Request Forgery) — comment protéger les formulaires et les sessions.
- Gestion des fichiers — vulnérabilités lors du téléchargement, de l'inclusion et de la suppression de fichiers.
- Authentification et gestion des sessions — interception de session, fixation, protection des mots de passe.
- Cryptographie — hachage, chiffrement, travail avec OpenSSL.
- Sécurité des bases de données — requêtes préparées, échappement, droits d'accès.
- Sécurité réseau — HTTPS, SSL, attaques de type « homme du milieu ».
Chaque chapitre contient des exemples de code réels, exécutables et testables. L'auteur ne se contente pas d'énumérer les vulnérabilités, il explique comment elles fonctionnent au niveau du protocole HTTP, du moteur PHP et de la base de données.
À qui s'adresse ce livre
Ce livre s'adresse aux utilisateurs confirmés de PHP qui maîtrisent déjà la syntaxe, le travail avec les formulaires, les sessions et les bases de données. Les débutants auront des difficultés : l'auteur n'explique pas les constructions de base, mais passe directement aux attaques et à la protection. Le lecteur idéal est un développeur web qui souhaite passer à un niveau supérieur de compréhension de la sécurité et apprendre à écrire un code résistant aux intrusions. Ce livre sera également utile aux administrateurs système, aux testeurs et à toute personne intéressée par le hacking éthique.
Ce que le lecteur apprendra
Après avoir lu ce livre, le lecteur sera capable de :
- Identifier et exploiter les injections SQL dans ses propres projets (pour ensuite les corriger).
- Protéger les applications contre les XSS grâce à un échappement correct et à une Content Security Policy.
- Mettre en œuvre une protection contre les CSRF à l'aide de jetons et de la vérification de l'en-tête Origin.
- Travailler en toute sécurité avec le système de fichiers : téléchargement, inclusion, suppression.
- Mettre en place une authentification robuste avec hachage des mots de passe (bcrypt, argon2).
- Utiliser les requêtes préparées et PDO pour se protéger des injections.
- Configurer HTTPS et manipuler correctement les certificats SSL.
- Comprendre les principes de la cryptographie et choisir les algorithmes appropriés.
Points forts
Le principal atout du livre est son orientation pratique. Chaque vulnérabilité est démontrée avec un code fonctionnel, téléchargeable depuis le site de l'auteur. Cela permet non seulement de lire la théorie, mais aussi de voir l'attaque en action. Le deuxième avantage est la structure : des attaques simples aux attaques complexes, avec une complexification progressive des exemples. Le troisième est que l'auteur n'a pas peur de montrer les détails « sordides » : comment fonctionnent les injections au niveau du bytecode, comment tromper les filtres, etc. Cela permet une compréhension approfondie, et non des conseils superficiels. Enfin, le livre est écrit dans un langage vivant, avec humour et des histoires réelles tirées de la pratique de l'auteur.
À qui je le recommande
Je recommande ce livre à tous les développeurs PHP qui souhaitent écrire des applications sécurisées. Il sera particulièrement utile à ceux qui travaillent sur des projets obsolètes (sous PHP 5.x) et qui veulent comprendre quelles failles doivent être corrigées.