Securité Web
Les failles les plus
courantes
Quelques questions
• Quelles menaces pour la sécurité de mon
site et des données de mes utilisateurs ?
• Comment les pirates arrivent-ils à
exploiter ces failles ?
• Que faire pour y remédier ?
• Quelques bonne pratiques à adopter ?
Sommaire
1. Faille XSS
2. Injection SQL
3. Attaque des mots de passe par brute force
4. Faille include
5. Quelques bonnes pratiques
Faille XSS
1.Faille XSS
• Le Cross Site Scripting (XSS) permet
l’injection de code malveillant côté client
• Souvent des codes Javascript, Java ou
Flash
a. Qu’est ce que c’est ?
b. Comment ça marche ?
• Souvent, le code va s’exécuter sur les pages des
visiteurs du site
• Le script de l’attaquant va avoir accès au DOM
• Il peut faire n’importe quel action à l’insu de
l’utilisateur
1.Faille XSS
• Exemple :
1.Faille XSS
b. Comment ça marche ?
Exemple :
1.Faille XSS
b. Comment ça marche ?
Maintenant, tentons de comprendre ce qui c’est passé !
Le pirate à entrer le code suivant dans le commentaire :
1.Faille XSS
b. Comment ça marche ?
Ce même code a été ensuite affiché sur la page html or
on se rend bien compte que c’est du code qui a été
affiché dans le navigateur. Le navigateur a donc exécuté
ce qui était dans entre les balise script normalement et
affiché le message voulu par le pirate.
c. Quel est le danger ?
• Vols d’informations
• Utilisation d’un site piraté pour faire circuler un virus
(virus Samy sur MySpace en 2005)
• Phishing
• Défacement
• Redirection vers un autre site (pouvant servir à voler
des informations par la même occasion)
1.Faille XSS
d. Comment l’éviter ?
Pour l’éviter deux possibilités :
• Faire des filtres
• Remplacer certains caractères html par leur entité
html correspondante
1.Faille XSS
On pourrait faire une fonction qui filtre la balise <script>.
La fonction ci-dessous va enlever tout les « script ».
1.Faille XSS
d. Comment l’éviter ?
Problèmes :
• Ce filtre est facilement contournable. En effet, au lieu
de mettre <script></script> mettons
<scscript></scrscriptipt> et lorsque le filtre enlevera
les « script » il restera <script></script>
• Si on veut mettre le mot script dans un message il
sera effacer du message.
1.Faille XSS
d. Comment l’éviter ?
d. Comment l’éviter ?
La fonction htmlspecialchars()
1.Faille XSS
La fonction htmlspecialchars permet de remplacer
certains caractère html par leur entité correspondante :
• '&' devient &amp;
• '"' devient &quot;
• "'" devient &#039;
• '<‘ devient &lt;
• '>‘ devient &gt;
d. Comment l’éviter ?
La fonction htmlentities()
1.Faille XSS
La fonction htmlentities a exactement la même utilité que la
fonction htmlspecialchars sauf qu’elle remplace tout les caractères
html existant par leur entité correspondante. Elle est donc plus
complète.
d. Comment l’éviter ?
La fonction strip_tags()
1.Faille XSS
La fonction strip_tags() va supprimer tout les balises html, php
Démonstration
Questions
Injection sql
2. Injection sql
L’injection sql permet, comme son nom
l’indique d’injecter une requête sql à l’insu
du développeur
a. Qu’est ce que c’est ?
2. Injection sql
b. Comment ça marche ?
• Souvent, le code malveillant va être inséré
dans des données transmis par formulaire et
par des données dans les urls
• Le code de l’attaquant va pouvoir faire des
requêtes à la base ou en fausser leur sortie
• Au préalable il pourra avoir soigneusement
exploité le manque de sécurisation pour
connaître le nom d’une ou de plusieurs table
de la base.
2. Injection sql
b. Comment ça marche ?
Exemple :
2. Injection sql
b. Comment ça marche ?
Exemple :
2. Injection sql
b. Comment ça marche ?
Dans l’exemple précédent nous avons pris le cas d’une connexion
classique. Pour bien comprendre ce qui c’est passé il est bon de voir
quel type de requête est utilisé pour la connexion.
Maintenant remplaçons les variables par les données rentrée pas
l’utilisateur, la requête devient alors :
Or le # signifie le début d’un commentaire en sql d’où la requête revient
donc a :
La requête retourne toujours un resultat tant que le nom d’utilisateur
‘admin’ existe dans la base
2. Injection sql
c. Quel est le danger ?
• Vols d’informations
• Changement des informations de la base
• Délétion de données
2. Injection sql
d. Comment l’éviter ?
Pour l’éviter deux possibilités :
• Échapper les caractères
• Préparer les requêtes
2. Injection sql
d. Comment l’éviter ?
La fonction addslashes() :
La fonction addslashes() permet de rajouter un antislash devant les ‘, ", /,
byte NULL
2. Injection sql
d. Comment l’éviter ?
La fonction MySQLi:mysqli_real_escape_string() :
La fonction mysqli_real_escape_string() permet de rajouter un antislash
devant les ‘, ", /, byte NULL, n, r
Attention !
La fonction mysql_real_escape_string()
sera devenu obsolète pour la version
5.5.0 de PHP et sera supprimée dans les
futures version de PHP.
2. Injection sql
d. Comment l’éviter ?
La fonction PDO:quote() :
La fonction PDO:quote() permet de rajouter un antislash devant tout les
caractères spéciaux définis par le pilote ainsi qu’un « ’ » de chaque côté de la
valeur de la variable,
2. Injection sql
d. Comment l’éviter ?
Préparer ses requêtes :
La préparation des requêtes permet également de protéger nos requêtes.
Néanmoins, il ne suffit pas juste de faire une requête préparé pour que note
requête soit protégé. En effet, le code suivant ne permet absolument pas de
protéger notre requête.
2. Injection sql
d. Comment l’éviter ?
Préparer ses requêtes :
Voici deux façons de faire qui permettent de protéger les requêtes contre les
injections.
En préparant juste :
2. Injection sql
d. Comment l’éviter ?
Préparer ses requêtes :
En passant les paramètres par la fonction PDOStatement:bindValue() (conseillé):
2. Injection sql
d. Comment l’éviter ?
Mais surtout bien vérifier les données :
Le plus important pour éviter de subir des injections est de vérifier les
données rentrées. Cela comprend, de :
• vérifier le type de la données (de le transtyper si besoin est)
• Vérifier la longueur des données
• Si le choix des données est restreint vérifier que les données sont la
fourchettes de solutions
Démonstration
Questions
Attaque par brute force
3. Brute force
a. Qu’est ce que c’est ?
Le principe d’une attaque par brute force des mots de
passe est de tendre à une recherche exhaustive des mots
de passe possible rentrer par l’utilisateur.
Plusieurs variantes existent une recherche exhaustive en
essayant tout les combinaisons de caractères possibles ou
alors une autre variante consiste à se servir d’un
dictionnaire pour rechercher les mots probables rentrés
par l’utilisateur.
3. Brute force
b. Comment ça marche ?
Première variante, la recherche exhaustive des
combinaisons de caractères possibles :
L’attaquant, qui a au préalable récupéré le pseudo d’un membre, teste tout les
combinaisons de caractères possibles pouvant être rentrée en mot de passe. Au
bout d’un moment le mot de passe rentrée est bon et l’attaquant à accès au
compte.
3. Brute force
b. Comment ça marche ?
Deuxième variante, l’attaque par dictionnaire :
L’attaquant, qui a au préalable récupéré le pseudo d’un membre, teste tout les
mots probables du dictionnaire d’une langue.
3. Brute force
b. Comment ça marche ?
Façon de faire :
Pour exécuter ces attaques il est évident que cela doit être un script qui doit
exécuter les requêtes dans un but de rapidité. Ce script va donc envoyer des
requêtes avec le même pseudo et différents mot de passe, puis, pour
repérer l’échec d’authentification, va comparer le code source de la page
lors de l’échec d’authentification et le code source de la page renvoyé pour
chaque mot de passe. Lorsque le code source n’est pas le même alors, c’est
qui n’y a pas d’erreur et donc que vous avez l’attaquant est connecté au
compte.
3. Brute force
c. Quel est le danger ?
Le danger, c’est tout simplement le contrôle d’un compte (ou plusieurs si
l’attaquant attaque plusieurs compte), le vol d’informations, modification
des informations de l’utilisateurs, …., toute les actions que peut faire un
utilisateurs. Il est également possible d’avoir plus d’accès dans le cas du
contrôle d’un administrateur qui pourrait avoir accès au compte ftp.
3. Brute force
d. Comment l’éviter ?
Première méthode, la limitation d’essaies :
Une première méthode consiste à limiter le nombre d’essaies de mots de passe
rentrée par l’utilisateur.
3. Brute force
d. Comment l’éviter ?
Deuxième méthode, le captcha :
Une deuxième méthode consiste à mettre un captcha pour s’identifier. Le script
ne pourra donc pas déchiffrer le captcha et ne pourra jamais être authentifié.
3. Brute force
d. Comment l’éviter ?
Augmenter la sécurité des mots de passe :
Vous pouvez demander aux utilisateurs d’avoir un mot de passe
comportant un certains nombre de caractères (au moins 6) avec des
lettres, des chiffres, des caractères spéciaux et ne formant pas un mot.
Ce n’est pas une mesure de sécurité absolu mais elle peut au moins
endurcir la découverte des mots de passe par l’attaquant.
Questions
Faille include
4. Faille include
a. Qu’est ce que c’est ?
• L’exploitation d’une faille include permet d’accéder à n’importe
quel page sur le serveur et plus selon les configurations de votre
environnement PHP.
• Souvent le nom du fichier est demandé dans une url
4. Faille include
b. Comment ça marche ?
Nous allons travailler sur un cas classique de recherche où l’objet de
la recherche est une page web inclue par un include. En voici le script
que l’attaquant ne connait pas bien sûr.
Néanmoins, il est facile de le repérer à l’url :
4. Faille include
b. Comment ça marche ?
L’attaquant va donc remplacer « example1.php » par le fichier qu’il
veut voir. Prenons par exemple le fichier .htaccess. L’url rentrée par
l’attaquant va donc devenir :
Le script va donc inclure le fichier .htaccess et dans la suite logique des
choses la page affiche le contenu de mon fichier .htaccess :
4. Faille include
c. Quel est le danger ?
Comme danger on pourrait citer celui d’avoir accès pour l’attaquant à des fichiers
sensible tel que le .htaccess, .htpasswd et celui de pouvoir inclure et/ou exécuter
des fichiers sensibles (un script pouvant afficher la liste des mails des utilisateurs
par exemple).
4. Faille include
d. Comment l’éviter ?
Voilons, comme première solutions le fait d’obliger une extension particulière
comme par exemple les .html. Cela évitera, en toute logique, d’inclure les fichiers
.htaccess, .htpasswd et tout les scripts php.
Le code du début deviendra donc le suivant :
4. Faille include
d. Comment l’éviter ?
Si nous répétons l’attaque donnée en démonstration, voici donc ce qui va se
passer :
Néanmoins cette technique n’est pas une protection absolu dans le cas où l’on
peut aisément inclure un autre fichier de celui demandé.
4. Faille include
d. Comment l’éviter ?
Ou alors vous pouvez tout simplement vérifier le fichier à inclure. Pour ce faire
vous pouvez dresser une liste des fichiers qui peuvent être inclues soit avec un
tableau soit avec des entrée dans une table de la base de données.
Exemple de script pouvant exercé ce contrôle :
Démonstration
Questions
Quelques bonnes pratiques
5. Quelques bonnes pratiques
a. Eviter de montrer nos erreurs
Fonction error_reporting() :
Cette fonction permet d’empécher que dans le cas d’une
éventuel erreurs, celle-ci soit afficher au mieux à l’utilisateur
et au pire au pirate pour révéler des informations précieuses
tel que le nom de variables, le nom de table sql, nom de
répertoire, de fichier, ….
5. Quelques bonnes pratiques
a. Eviter de montrer nos erreurs
Fonction set_error_handler() :
Cette fonction permet de gérer vos erreur. Vous pouvez donc,
en cas d’erreur, enregistrer ces erreurs dans une base de
données afin d’en prendre connaissance et faire une
redirection vers une page d’erreur, évitant ainsi que l’erreur
soit visible par le pirate.
5. Quelques bonnes pratiques
a. Eviter de montrer nos erreurs
Le « @ » anti-erreurs :
Le placement d’un @ devant les fonctions natives php vous
permette d’empêcher le déclenchement d’une erreur.
Questions
Securité web

Securité web

  • 1.
    Securité Web Les faillesles plus courantes
  • 2.
    Quelques questions • Quellesmenaces pour la sécurité de mon site et des données de mes utilisateurs ? • Comment les pirates arrivent-ils à exploiter ces failles ? • Que faire pour y remédier ? • Quelques bonne pratiques à adopter ?
  • 3.
    Sommaire 1. Faille XSS 2.Injection SQL 3. Attaque des mots de passe par brute force 4. Faille include 5. Quelques bonnes pratiques
  • 4.
  • 5.
    1.Faille XSS • LeCross Site Scripting (XSS) permet l’injection de code malveillant côté client • Souvent des codes Javascript, Java ou Flash a. Qu’est ce que c’est ?
  • 6.
    b. Comment çamarche ? • Souvent, le code va s’exécuter sur les pages des visiteurs du site • Le script de l’attaquant va avoir accès au DOM • Il peut faire n’importe quel action à l’insu de l’utilisateur 1.Faille XSS
  • 7.
    • Exemple : 1.FailleXSS b. Comment ça marche ?
  • 8.
    Exemple : 1.Faille XSS b.Comment ça marche ?
  • 9.
    Maintenant, tentons decomprendre ce qui c’est passé ! Le pirate à entrer le code suivant dans le commentaire : 1.Faille XSS b. Comment ça marche ? Ce même code a été ensuite affiché sur la page html or on se rend bien compte que c’est du code qui a été affiché dans le navigateur. Le navigateur a donc exécuté ce qui était dans entre les balise script normalement et affiché le message voulu par le pirate.
  • 10.
    c. Quel estle danger ? • Vols d’informations • Utilisation d’un site piraté pour faire circuler un virus (virus Samy sur MySpace en 2005) • Phishing • Défacement • Redirection vers un autre site (pouvant servir à voler des informations par la même occasion) 1.Faille XSS
  • 11.
    d. Comment l’éviter? Pour l’éviter deux possibilités : • Faire des filtres • Remplacer certains caractères html par leur entité html correspondante 1.Faille XSS
  • 12.
    On pourrait faireune fonction qui filtre la balise <script>. La fonction ci-dessous va enlever tout les « script ». 1.Faille XSS d. Comment l’éviter ?
  • 13.
    Problèmes : • Cefiltre est facilement contournable. En effet, au lieu de mettre <script></script> mettons <scscript></scrscriptipt> et lorsque le filtre enlevera les « script » il restera <script></script> • Si on veut mettre le mot script dans un message il sera effacer du message. 1.Faille XSS d. Comment l’éviter ?
  • 14.
    d. Comment l’éviter? La fonction htmlspecialchars() 1.Faille XSS La fonction htmlspecialchars permet de remplacer certains caractère html par leur entité correspondante : • '&' devient &amp; • '"' devient &quot; • "'" devient &#039; • '<‘ devient &lt; • '>‘ devient &gt;
  • 15.
    d. Comment l’éviter? La fonction htmlentities() 1.Faille XSS La fonction htmlentities a exactement la même utilité que la fonction htmlspecialchars sauf qu’elle remplace tout les caractères html existant par leur entité correspondante. Elle est donc plus complète.
  • 16.
    d. Comment l’éviter? La fonction strip_tags() 1.Faille XSS La fonction strip_tags() va supprimer tout les balises html, php
  • 17.
  • 18.
  • 19.
  • 20.
    2. Injection sql L’injectionsql permet, comme son nom l’indique d’injecter une requête sql à l’insu du développeur a. Qu’est ce que c’est ?
  • 21.
    2. Injection sql b.Comment ça marche ? • Souvent, le code malveillant va être inséré dans des données transmis par formulaire et par des données dans les urls • Le code de l’attaquant va pouvoir faire des requêtes à la base ou en fausser leur sortie • Au préalable il pourra avoir soigneusement exploité le manque de sécurisation pour connaître le nom d’une ou de plusieurs table de la base.
  • 22.
    2. Injection sql b.Comment ça marche ? Exemple :
  • 23.
    2. Injection sql b.Comment ça marche ? Exemple :
  • 24.
    2. Injection sql b.Comment ça marche ? Dans l’exemple précédent nous avons pris le cas d’une connexion classique. Pour bien comprendre ce qui c’est passé il est bon de voir quel type de requête est utilisé pour la connexion. Maintenant remplaçons les variables par les données rentrée pas l’utilisateur, la requête devient alors : Or le # signifie le début d’un commentaire en sql d’où la requête revient donc a : La requête retourne toujours un resultat tant que le nom d’utilisateur ‘admin’ existe dans la base
  • 25.
    2. Injection sql c.Quel est le danger ? • Vols d’informations • Changement des informations de la base • Délétion de données
  • 26.
    2. Injection sql d.Comment l’éviter ? Pour l’éviter deux possibilités : • Échapper les caractères • Préparer les requêtes
  • 27.
    2. Injection sql d.Comment l’éviter ? La fonction addslashes() : La fonction addslashes() permet de rajouter un antislash devant les ‘, ", /, byte NULL
  • 28.
    2. Injection sql d.Comment l’éviter ? La fonction MySQLi:mysqli_real_escape_string() : La fonction mysqli_real_escape_string() permet de rajouter un antislash devant les ‘, ", /, byte NULL, n, r
  • 29.
    Attention ! La fonctionmysql_real_escape_string() sera devenu obsolète pour la version 5.5.0 de PHP et sera supprimée dans les futures version de PHP.
  • 30.
    2. Injection sql d.Comment l’éviter ? La fonction PDO:quote() : La fonction PDO:quote() permet de rajouter un antislash devant tout les caractères spéciaux définis par le pilote ainsi qu’un « ’ » de chaque côté de la valeur de la variable,
  • 31.
    2. Injection sql d.Comment l’éviter ? Préparer ses requêtes : La préparation des requêtes permet également de protéger nos requêtes. Néanmoins, il ne suffit pas juste de faire une requête préparé pour que note requête soit protégé. En effet, le code suivant ne permet absolument pas de protéger notre requête.
  • 32.
    2. Injection sql d.Comment l’éviter ? Préparer ses requêtes : Voici deux façons de faire qui permettent de protéger les requêtes contre les injections. En préparant juste :
  • 33.
    2. Injection sql d.Comment l’éviter ? Préparer ses requêtes : En passant les paramètres par la fonction PDOStatement:bindValue() (conseillé):
  • 34.
    2. Injection sql d.Comment l’éviter ? Mais surtout bien vérifier les données : Le plus important pour éviter de subir des injections est de vérifier les données rentrées. Cela comprend, de : • vérifier le type de la données (de le transtyper si besoin est) • Vérifier la longueur des données • Si le choix des données est restreint vérifier que les données sont la fourchettes de solutions
  • 35.
  • 36.
  • 37.
  • 38.
    3. Brute force a.Qu’est ce que c’est ? Le principe d’une attaque par brute force des mots de passe est de tendre à une recherche exhaustive des mots de passe possible rentrer par l’utilisateur. Plusieurs variantes existent une recherche exhaustive en essayant tout les combinaisons de caractères possibles ou alors une autre variante consiste à se servir d’un dictionnaire pour rechercher les mots probables rentrés par l’utilisateur.
  • 39.
    3. Brute force b.Comment ça marche ? Première variante, la recherche exhaustive des combinaisons de caractères possibles : L’attaquant, qui a au préalable récupéré le pseudo d’un membre, teste tout les combinaisons de caractères possibles pouvant être rentrée en mot de passe. Au bout d’un moment le mot de passe rentrée est bon et l’attaquant à accès au compte.
  • 40.
    3. Brute force b.Comment ça marche ? Deuxième variante, l’attaque par dictionnaire : L’attaquant, qui a au préalable récupéré le pseudo d’un membre, teste tout les mots probables du dictionnaire d’une langue.
  • 41.
    3. Brute force b.Comment ça marche ? Façon de faire : Pour exécuter ces attaques il est évident que cela doit être un script qui doit exécuter les requêtes dans un but de rapidité. Ce script va donc envoyer des requêtes avec le même pseudo et différents mot de passe, puis, pour repérer l’échec d’authentification, va comparer le code source de la page lors de l’échec d’authentification et le code source de la page renvoyé pour chaque mot de passe. Lorsque le code source n’est pas le même alors, c’est qui n’y a pas d’erreur et donc que vous avez l’attaquant est connecté au compte.
  • 42.
    3. Brute force c.Quel est le danger ? Le danger, c’est tout simplement le contrôle d’un compte (ou plusieurs si l’attaquant attaque plusieurs compte), le vol d’informations, modification des informations de l’utilisateurs, …., toute les actions que peut faire un utilisateurs. Il est également possible d’avoir plus d’accès dans le cas du contrôle d’un administrateur qui pourrait avoir accès au compte ftp.
  • 43.
    3. Brute force d.Comment l’éviter ? Première méthode, la limitation d’essaies : Une première méthode consiste à limiter le nombre d’essaies de mots de passe rentrée par l’utilisateur.
  • 44.
    3. Brute force d.Comment l’éviter ? Deuxième méthode, le captcha : Une deuxième méthode consiste à mettre un captcha pour s’identifier. Le script ne pourra donc pas déchiffrer le captcha et ne pourra jamais être authentifié.
  • 45.
    3. Brute force d.Comment l’éviter ? Augmenter la sécurité des mots de passe : Vous pouvez demander aux utilisateurs d’avoir un mot de passe comportant un certains nombre de caractères (au moins 6) avec des lettres, des chiffres, des caractères spéciaux et ne formant pas un mot. Ce n’est pas une mesure de sécurité absolu mais elle peut au moins endurcir la découverte des mots de passe par l’attaquant.
  • 46.
  • 47.
  • 48.
    4. Faille include a.Qu’est ce que c’est ? • L’exploitation d’une faille include permet d’accéder à n’importe quel page sur le serveur et plus selon les configurations de votre environnement PHP. • Souvent le nom du fichier est demandé dans une url
  • 49.
    4. Faille include b.Comment ça marche ? Nous allons travailler sur un cas classique de recherche où l’objet de la recherche est une page web inclue par un include. En voici le script que l’attaquant ne connait pas bien sûr. Néanmoins, il est facile de le repérer à l’url :
  • 50.
    4. Faille include b.Comment ça marche ? L’attaquant va donc remplacer « example1.php » par le fichier qu’il veut voir. Prenons par exemple le fichier .htaccess. L’url rentrée par l’attaquant va donc devenir : Le script va donc inclure le fichier .htaccess et dans la suite logique des choses la page affiche le contenu de mon fichier .htaccess :
  • 51.
    4. Faille include c.Quel est le danger ? Comme danger on pourrait citer celui d’avoir accès pour l’attaquant à des fichiers sensible tel que le .htaccess, .htpasswd et celui de pouvoir inclure et/ou exécuter des fichiers sensibles (un script pouvant afficher la liste des mails des utilisateurs par exemple).
  • 52.
    4. Faille include d.Comment l’éviter ? Voilons, comme première solutions le fait d’obliger une extension particulière comme par exemple les .html. Cela évitera, en toute logique, d’inclure les fichiers .htaccess, .htpasswd et tout les scripts php. Le code du début deviendra donc le suivant :
  • 53.
    4. Faille include d.Comment l’éviter ? Si nous répétons l’attaque donnée en démonstration, voici donc ce qui va se passer : Néanmoins cette technique n’est pas une protection absolu dans le cas où l’on peut aisément inclure un autre fichier de celui demandé.
  • 54.
    4. Faille include d.Comment l’éviter ? Ou alors vous pouvez tout simplement vérifier le fichier à inclure. Pour ce faire vous pouvez dresser une liste des fichiers qui peuvent être inclues soit avec un tableau soit avec des entrée dans une table de la base de données. Exemple de script pouvant exercé ce contrôle :
  • 55.
  • 56.
  • 57.
  • 58.
    5. Quelques bonnespratiques a. Eviter de montrer nos erreurs Fonction error_reporting() : Cette fonction permet d’empécher que dans le cas d’une éventuel erreurs, celle-ci soit afficher au mieux à l’utilisateur et au pire au pirate pour révéler des informations précieuses tel que le nom de variables, le nom de table sql, nom de répertoire, de fichier, ….
  • 59.
    5. Quelques bonnespratiques a. Eviter de montrer nos erreurs Fonction set_error_handler() : Cette fonction permet de gérer vos erreur. Vous pouvez donc, en cas d’erreur, enregistrer ces erreurs dans une base de données afin d’en prendre connaissance et faire une redirection vers une page d’erreur, évitant ainsi que l’erreur soit visible par le pirate.
  • 60.
    5. Quelques bonnespratiques a. Eviter de montrer nos erreurs Le « @ » anti-erreurs : Le placement d’un @ devant les fonctions natives php vous permette d’empêcher le déclenchement d’une erreur.
  • 61.

Notes de l'éditeur

  • #8 On met un commentaire comportant un script JavaScript
  • #9 Lors de l’affichage du commentaire le code JavaScript est exécuter par le navigateur et non visible dans le message
  • #10 Lors de l’affichage du commentaire le code JavaScript est exécuter par le navigateur et non visible dans le message
  • #23 On rentre de quoi faire l’injection sql dans le champs pseudo et un mot de passe sans interêt (ici la lettre p)