Table of contents : Préface......Page 7 Pourquoi ce livre ?......Page 9 À qui s’adresse cet ouvrage ?......Page 10 Structure de l’ouvrage......Page 11 Contacts......Page 13 Table des matières......Page 15 Partie 1 - Risques liés aux applications web......Page 25 1 - Introduction à la sécurité des applications web......Page 27 L’abus de ressources......Page 28 Le détournement du site......Page 29 Concepts de sécurité......Page 30 La sécurité dès la conception......Page 31 La sécurité dans le développement......Page 34 La sécurité de tous les jours......Page 39 Les injections HTML : XSS......Page 43 Prototype d’une injection HTML......Page 44 Attaques par moteur de recherche......Page 46 Neutralisation des caractères spéciaux......Page 47 Les balises ......Page 48 Les balises images......Page 49 Les URL......Page 50 CSRF : les utilisateurs en otage......Page 53 Se défendre contre une CSRF......Page 55 Ces virus qui s’installent......Page 56 Les formulaires......Page 59 Quelles défenses pour les formulaires ?......Page 60 Les enchaînements de pages web......Page 61 Construire une attaque HTTP......Page 62 Un formulaire unique......Page 63 La création de formulaires......Page 64 Maîtriser les erreurs de formulaire......Page 65 Présence et absence de données......Page 66 Les types des données......Page 67 Les données complexes......Page 70 La liste blanche......Page 71 La liste noire......Page 72 La liste grise......Page 73 Les expressions régulières......Page 74 Les filtres en PHP......Page 75 Comment les fichiers sont envoyés sur le serveur......Page 78 La taille des fichiers......Page 79 Les formats de fichiers......Page 80 Les noms de fichiers sont également vulnérables......Page 82 Savoir gérer les fichiers reçus......Page 84 Les types de fichiers......Page 86 Présentation des cookies......Page 89 Défendre ses cookies......Page 94 Le cas des tableaux de cookies......Page 98 Un cookie comme défense......Page 99 Les sessions......Page 100 Fonctionnement des sessions......Page 101 Les risques liés aux sessions......Page 103 Partie 2 Mesures de sécurité pour PHP......Page 109 Types d’installation PHP......Page 111 Patch Suhoshin......Page 112 Configurations de sécurité PHP......Page 113 Directives de sécurité......Page 114 Consommation de ressources......Page 120 PHP exposé......Page 123 Configuration des sessions......Page 125 Écrasement de fichiers......Page 129 Injection de code distant......Page 130 eval()......Page 132 assert()......Page 133 preg_replace()......Page 134 Extensions de fichiers......Page 135 Code PHP......Page 136 Affichages d’information......Page 138 Interfaces externes......Page 140 Affichage des erreurs par défaut......Page 143 Audit grâce au niveau d’erreur......Page 144 Partie 3 - Risques liés aux bases de données......Page 147 Un langage universel : SQL......Page 149 Risques dans les manipulations de données......Page 150 Exemples d’injections SQL......Page 154 Comment bloquer les injections SQL......Page 156 Savoir limiter les dégâts......Page 161 Où ranger les accès au serveur SQL ?......Page 162 Mot de passe par défaut......Page 164 Accès anonymes au serveur SQL......Page 165 Protocoles de communication de MySQL......Page 166 Sauvegardes......Page 167 Liste des processus......Page 168 Communications......Page 169 Base de données mysql......Page 171 Utilisateurs MySQL......Page 172 Tables de bases et d’hôtes......Page 174 Droits sur les données......Page 175 Droits d’administration de MySQL......Page 178 Compilation......Page 179 Moteurs de tables......Page 180 Procédures stockées......Page 182 Directives de configuration......Page 183 Limiter les consommations......Page 185 Partie 4 - Mesures de sécurité pour les technologies connexes......Page 187 Pourriel......Page 189 Injections dans le courrier électronique......Page 190 Défendre ses courriers électroniques......Page 192 Défenses fournies par PHP......Page 193 Garder le système de fichiers voilé......Page 194 Protéger les fichiers sur le serveur......Page 196 Fichiers temporaires......Page 198 Risques du Shell......Page 200 Protéger les commandes système......Page 201 Extensions de fichiers......Page 204 Un dossier hors Web......Page 206 Appels séquentiels......Page 209 Votre site masque une attaque......Page 210 Fonctionnement de l’attaque......Page 213 Adresse IP......Page 214 Phishing......Page 215 Sécurisation des connexions......Page 216 Identification des clients......Page 217 Signature......Page 218 Renforcement de la signature......Page 219 Création de mots de passe......Page 221 Chiffrement et signatures......Page 222 Chiffrement en PHP et MySQL......Page 223 Pots de miel et trappes......Page 224 Complication du code source......Page 226 CAPTCHA......Page 228 Mise en place d’un CAPTCHA......Page 229 11 - Mener un audit de sécurité......Page 235 Lister les concepts de sécurité appliqués......Page 236 Lister les utilisations des fonctions frontières......Page 237 Vérifier la configuration du serveur......Page 238 Rédiger un rapport d’audit......Page 239 Partie 5 - Annexes......Page 241 A Fonctions de sécurité et caractères spéciaux......Page 243 Fonctions de protection de PHP......Page 244 Caractères spéciaux......Page 245 Fonctions citées dans le livre......Page 247 Automatiser la remise en état......Page 251 Automatiser la surveillance du code......Page 252 Sécurité du support de stockage......Page 253 Restauration des données......Page 254 PHP et MySQL......Page 255 Robots de tests......Page 256 Sécurité PHP......Page 258 Sécurité des applications web......Page 259 Anti-sèches......Page 262 Sites cités......Page 263 Index......Page 265