Академический Документы
Профессиональный Документы
Культура Документы
2
Modal Web - Baptiste DESPREZ
3
Modal Web - Baptiste DESPREZ
4
Modal Web - Baptiste DESPREZ
Injection SQL
Injection SQL
Au mieux, le pirate accde au contenu de votre
base de donnes (courriels, donnes personnelles
ou financires, mot de passe en clair, )
Au pire, votre base de donnes est dtruite
5
Modal Web - Baptiste DESPREZ
6
Modal Web - Baptiste DESPREZ
7
Modal Web - Baptiste DESPREZ
Injection SQL
Comment
a marche
?
$password
= $_POST['password']
= "') or 1=1#"
On vient intercaler notre code SQL malicieux au
milieu de la requte :
$sql = "SELECT * FROM `utilisateurs` WHERE
`login`='$login' AND `mdp`=SHA1('$password')";
$sql = "SELECT * FROM `utilisateurs` WHERE
`login`='$login' AND `mdp`=SHA1('') OR 1=1 #)";
8
Modal Web - Baptiste DESPREZ
Injection SQL
Comment se protger ?
Avec PDO : $sth = $dbh -> prepare() puis
$sth->execute(array($login, $password))
Utilisez les ?
9
Modal Web - Baptiste DESPREZ
XSS
XSS
Cest comme linjection SQL, sauf que lon injecte du
code Javascript
Le pirate se sert des utilisateurs de votre site mais ne
touche pas votre base de donnes
Quoique
10
Modal Web - Baptiste DESPREZ
XSS
21/10/2010 : Twitter est victime dune faille
XSS. Rsultat : des utilisateurs spamms, et les
serveurs de Twitter genou (et tout a avec
moins de 140 caractres !!!)
07/03/2013 : Une faille XSS a t dcouverte sur
Ebay et Ebay ne veut pas corriger
23/04/2013 : Le compte Twitter dAP signale
une explosion la Maison Blanche : les bourses
plongent quelques minutes
11
<script>alert(document.cookie)</script>
12
Modal Web - Baptiste DESPREZ
13
Modal Web - Baptiste DESPREZ
<h1>Rsultat de la recherche ' <?php echo $_GET[' $ recherche_globale ']; ?> </h1>
14
Modal Web - Baptiste DESPREZ
XSS
Comment se protger ?
A chaque fois que vous devez afficher un contenu
pouvant tre modifi par un utilisateur ($_GET,
$_POST, ), utilisez htmlspecialchars($string)
Empchez lutilisateur dinsrer des caractres
spciaux : les signes &,$,*, etc. nont rien faire
dans un login par exemple
Vrifiez le type (entier -> ctype_digit(), etc.)
Empcher les utilisateurs dcrire en HTML
15
Modal Web - Baptiste DESPREZ
Bot
En quoi a consiste ?
La plupart des attaques sur le net sont effectues
par des Bots plus ou moins intelligents
Google en est un !
16
Modal Web - Baptiste DESPREZ
Bot
Le captcha semble tre une bonne solution pour
protger ses formulaires des Bots
http://www.google.com/recaptcha (ne fonctionne
pas lX)
http://www.phpcaptcha.org/
MAIS
Les logiciels de reconnaissance de caractres se
perfectionnent
Une base de donnes de 1000 captcha sachte 1$
17
Modal Web - Baptiste DESPREZ
Captcha !
18
Modal Web - Baptiste DESPREZ
19
Modal Web - Baptiste DESPREZ
20
Modal Web - Baptiste DESPREZ
21
Modal Web - Baptiste DESPREZ
Comment se protger ?
Il ny a pas de solution miracle mais des pistes
pour limiter la faille
$_SERVER[HTTP_REFERER] -> vrifiez do
viennent les donnes postes
Stocker lheure en SESSION et en hidden dans vos
formulaires et vrifiez que le delta entre les deux ne
dpasse pas une certaine limite
http://www.serversidemagazine.com/php/phpsecurity-measures-against-csrf-attacks/
22
Modal Web - Baptiste DESPREZ
@extract ($_REQUEST);
@die ($ctime($atime));
?>
http://www.php.net/manual/en/book.ctype.php
23
Modal Web - Baptiste DESPREZ
24
Modal Web - Baptiste DESPREZ
25
Modal Web - Baptiste DESPREZ
26
Modal Web - Baptiste DESPREZ
Google Hacking
Google est un formidable outil pour dcouvrir
des sites piratables (et des phpMyAdmin sans
mot de passe)
GHDB -> Google Hacking Data Base dun certain
Johnny I Hack Stuff
Attention ! Google dtecte les tentatives rptes
et bloque votre IP (en loccurrence celle du proxy
de lEcole)
27
Modal Web - Baptiste DESPREZ
Login :
28
Modal Web - Baptiste DESPREZ
29
Modal Web - Baptiste DESPREZ
Et si a ne suffit pas
30
Modal Web - Baptiste DESPREZ
Conclusion
Ne faites pas confiance aux utilisateurs !
Contrler tout ce quil peuvent modifier ou
afficher ($_GET, $_POST, )