Академический Документы
Профессиональный Документы
Культура Документы
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
Les attaques
Considrer que lapplication distribue sexcute dans un
monde hostile :
Empcher les droulement correcte de lapplication par
brouillage des donnes
Dsorganiser les changes et le fonctionnement de
lapplication
Usurper lidentit dun interlocuteur pour utiliser
lapplication pour soi et/ou rcuprer des donnes
confidentielles
Prendre le contrle partiel ou complet du systme plus
ou moins discrtement
7 juin 2010
Mesures de scurit
Angle dattaque du problme de la scurit :
Fiabiliser les donnes et le logiciel
Fiabiliser les changes et en particulier le traitement des
formulaires
Scuriser laccs au bases de donnes
Gestion scurise des sessions
Gestion des serveurs partags
7 juin 2010
Register Globals
Cette directive permet dappliquer la valeur dun paramtre
de requte directement dans une variable globale de mme
nom. Cela vite le recourt aux super globales $_GET ou
$_POST
Lemploie de cette directive est largement dconseill. Bien
que trs pratique elle prsente un haut risque dinterfrence
aisment exploitable par un attaquant
Cette faille met en vidence la ncessit pour le
programmeur de toujours explicitement initialiser toutes ses
variables avant de les utiliser, mme si une initialisation est
suppose
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
7 juin 2010
Vulnrabilit XSS
Les Cross-site scripting exploitent des vulnrabilit
mettant en uvre des informations partages par des sites
diffrents : des sites affichant des donnes externes
Si les donnes affiches ne sont pas correctement filtres
elle peuvent contenir des codes malicieux qui sexcuteront
sur le client
Contre-mesures : utilisation des fonctions de filtrage (ne pas
rinventer la roue) : htmlentities, htmlspecialchars,
objectif : filtrer les donner pour empcher linterprtation de
contenu html ou javascript.
7 juin 2010
7 juin 2010
Vulnrabilits CSRF
Consiste forger de fausses requtes partir dURL
authentifies et de pousser le client excuter des actions
sans le savoir.
Pour fonctionner, il faut que lauthentification ait t
ralise et que laction du formulaire ne demande pas
d'authentification ou de confirmation
On forge alors la requte en dissimulant un formulaire ou
en utilisant une balise image contrl par exemple par du
JavaScript
7 juin 2010
un formulaire, un traitement
Il faut sassurer quune demande de traitement est bien
issue dun formulaire gr par lapplication
Utilisation de mcanisme cryptographique pour identifier
les formulaires utiliss avec un numro unique
$token = uniqid(rand(),true);
7 juin 2010
Injection SQL
Lorsque lon construit une requte SQL directement partir
des champs dune requte POST ou GET, on fournit un
attaquant la possibilit de pratiquer de linjection de code
malicieux
<?php
$sql = "INSERT INTO users
(reg_username,reg_password,reg_email)
VALUES ('{$_POST['reg_username']}',
'$reg_password', '{$_POST['reg_email']}')";
?>
7 juin 2010
Le vol de session
start_session dmarre une session mais cest votre code
PHP de vrifier si la session existe dj ou pas. Un
attaquant malveillant peut fixer un identifiant de session si
vous ne le vrifiez pas
Rajout dinformation qui assurent que lon reoit bien des
requtes de la mme session
Utilisation didentificateurs non prdictibles
Utilisation de linteractions utilisateur pour veiller
lattention sur quelque chose de suspect