Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > Général Conception Web > Sécurité
Sécurité Forum d'entraide sur la sécurité des sites Web, les protections, l'authentification, etc. Avant de poster -> Cours Sécurité.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 03/07/2012, 21h47   #1
FirePrawn
Responsable (X)HTML/CSS

 
Avatar de FirePrawn
 
Homme Sébastien Germez
Ingénieur réalisateur
Inscription : mars 2011
Messages : 2 646
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Germez
Âge : 25
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 2 646
Points : 20 615
Points : 20 615
Par défaut Failles de sécurité des applications web

Bonjour à tous !

Je vous propose un article sur le principe des failles de sécurité des applications par Guillaume HARRY : Failles de sécurité des applications web.

N'hésitez pas à faire part de vos remarques, commentaires ou propositions d'améliorations !

Failles de sécurité des applications web

__________________
Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez-moi !
Avant toute chose : lire le mode d'emploi du forum et ses règles.
Je ne réponds pas aux questions techniques en MP.
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 10/07/2012, 09h54   #2
grunk
Modérateur
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 2 499
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 28
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 2 499
Points : 5 209
Points : 5 209
Je me permet d'intervenir sur la partie III-B-3 concernant les injections. Les parades et bonnes pratiques présentées sont incorrectes et ne devraient pas être présentées ainsi dans un document tout public.

1- Htmlspecialchars ne protège en rien des injections sql. On ne l'utilise d'ailleurs par à l'enregistrement mais plus généralement à l'affichage pour se protéger des faille XSS (on lui préfèrera même htmlentities).

2- Le minimum pour la protection des injections est l'utilisation des fonctions de base du sgbd du type mysql_real_escape_string qui va échapper les caractères à risque du type de :
Citation:
NULL, \x00, \n, \r, \, ', " et \x1a
Dans l'idéal on utilisera des requêtes préparées via PDO ou mysqli , qui sont actuellement la solution la plus sure pour se prémunir des injections sql.

A ces requêtes préparées il faut impérativement ajouter une validation et/ou un filtrage des données utilisateur (c'est précisé dans l'article) via des fonctions telles que filter_input ou intval(), floatval() ...

---edit---

je poursuis ma lecture et tombe sur la partie csrf

Encore une fois la solution proposée est au mieux insuffisante :
Citation:
Pour se protéger, il faut utiliser uniquement des requêtes POST
POST ou GET c'est tout pareil , si ce n'est que PSOT est un poil plus difficile à modifier.
Pour se protéger des failles csrf il y'a deux actions :

1- Utiliser un token unique pour chaque action à risque. De cette manière un attaquant qui enverrai un formulaire à la place d'un utilisateur n'aurai pas le token qu'aurai du générer l'utilisateur si il avait été effectivement sur la page de formulaire.

2- Demander une validation utilisateur pour chaque action a risque. Au lieu de supprimer directement une valeur , je demande la confirmation à l'utilisateur.

J’arrête ma lecture là pour le moment, mais ce guide me semble un peu léger en solution technique (la présentation des attaques quant à elle est très clair).
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/07/2012, 20h36   #3
10_GOTO_10
Membre émérite
 
Avatar de 10_GOTO_10
 
Inscription : juillet 2004
Messages : 720
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 720
Points : 868
Points : 868
Citation:
Envoyé par grunk Voir le message
Dans l'idéal on utilisera des requêtes préparées via PDO ou mysqli , qui sont actuellement la solution la plus sure pour se prémunir des injections sql.
L'idéal ? Pas tout à fait: http://shiflett.org/blog/2006/jan/ad...-escape-string

Citation:
I can successfully inject a single quote despite your escaping. (...) I'm going to use MySQL 5.0 and PHP's mysqli extension for this demonstration.
10_GOTO_10 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2012, 15h59   #4
grunk
Modérateur
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 2 499
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 28
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 2 499
Points : 5 209
Points : 5 209
Citation:
Envoyé par 10_GOTO_10 Voir le message
Il utilise pas de requête préparée dans son article, il conseil d'ailleurs de le faire :
Citation:
To avoid this type of vulnerability, use mysql_real_escape_string(), prepared statements, or any of the major database abstraction libraries.
Après effectivement ce n'est pas l'idéal puisque les requêtes préparées sont sans doute plus consommatrices de ressources et sont à la base conçues pour les requêtes que l'on répète de nombreuses fois avec des paramètres différents.

L'idéal c'est de filtrer , et retyper autant que possible les données reçues de l'utilisateur.
grunk est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/10/2012, 15h04   #5
billharry
Membre actif
 
Homme Guillaume HARRY
Ingénieur d'études
Inscription : avril 2007
Messages : 135
Détails du profil
Informations personnelles :
Nom : Homme Guillaume HARRY
Âge : 33
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études

Informations forums :
Inscription : avril 2007
Messages : 135
Points : 190
Points : 190
Bonjour,

Je vais apporter quelques précisions suite à la remarque
Citation:
Envoyé par grunk Voir le message
1- Htmlspecialchars ne protège en rien des injections sql. On ne l'utilise d'ailleurs par à l'enregistrement mais plus généralement à l'affichage pour se protéger des faille XSS (on lui préfèrera même htmlentities).
Dans le document, il n'est pas dit que htmlspecialchars est la solution.
Il est simplement dit que les caractères spéciaux sont une source potentielle de risque et que pour se protéger
Citation:
il faut transformer au moins les caractères (...) en code HTML avant de les stocker dans la base de données.
Htmlspeciachars est alors une fonction qui permet de le faire et qui n'est pas dépendante du sgbd. mysql_real_escape_string() est certainement mieux indiquée dans le cas de mysql.
__________________
Guillaume HARRY
Expertise bases de données et Java/J2EE
billharry est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2012, 11h40   #6
tulipebleu
Membre régulier
 
Inscription : mars 2003
Messages : 134
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 134
Points : 71
Points : 71
Bonjour,

L'état de l'art pour le cryptage des mots de passes, c'est PBKDF2. Il faut mettre au moins 4096 itérations, comme WPA (IOS4 utilise 10.000 itérations).

PBKDF2 à l'épreuve du FBI
tulipebleu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2013, 02h55   #7
Clorge
En attente de confirmation mail
 
Homme
Inscription : février 2013
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : février 2013
Messages : 35
Points : 24
Points : 24
Citation:
Envoyé par tulipebleu Voir le message
Bonjour,

L'état de l'art pour le cryptage des mots de passes, c'est PBKDF2. Il faut mettre au moins 4096 itérations, comme WPA (IOS4 utilise 10.000 itérations).

PBKDF2 à l'épreuve du FBI
Mais merde, HASHAGE pas cryptage! je vais avoir mon pseudo sur toutes les résultats de google à force de corriger les gens sur ça...

en plus, http://xhtml.developpez.com/tutoriel...plication-web/ est dead (403)
Clorge est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/03/2013, 09h22   #8
FirePrawn
Responsable (X)HTML/CSS

 
Avatar de FirePrawn
 
Homme Sébastien Germez
Ingénieur réalisateur
Inscription : mars 2011
Messages : 2 646
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Germez
Âge : 25
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 2 646
Points : 20 615
Points : 20 615
Pour le lien c'est corrigé Une petite coquille oubliée
__________________
Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez-moi !
Avant toute chose : lire le mode d'emploi du forum et ses règles.
Je ne réponds pas aux questions techniques en MP.
FirePrawn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 14h33.


 
 
 
 
Partenaires

Hébergement Web