30-04-2009, 04:55 PM
Peut être devrait on répertorier tous les contrôles possibles voir toutes les actions possibles pour essayer de lutter contre ce genre de chose?
Ca pourrait faire une bonne fiche dans le wiki...
Donc en lisant(et de ce que je sais) j'ai:
- le bannissement du compte n'est pas forcément la meilleure solution (discussion avec le pirate)
- utiliser des systèmes de contrôle et de traçage pour trouvé le problème
- mettre en place des hameçons afin de repérer les comportement douteux, et éventuellement détecter des failles en les pistant
Sinon j'ai fait une petite liste des choses auquel il faut faire attention, hésitez pas à compléter:
- magic_quote et changement hébergement (et de manière général la config de l'hébergeur (limite d'upload, version de php etc...)
- Injection SQL: mettre en place un système qui garantisse la protection des données et évite les oublie du programmeur
- upload vérifier extension ainsi que type mime
- connexion limiter le nombre de tentative dans le temps
- faille csrf: pas de GET pour les actions, mettre un système de jeton aléatoire, redemander le mot de passe pour changement mail et mot de passe, vérifier provenance des pages
- faille xss: mettre en place un système qui s'assure que du code ne peut être inséré et évite les oublie du programmeur.
- robot spam: coder mail afficher, mettre des captcha (ou autre) pour vérifier que l'utilisateur est humain sur l'inscription
- ne pas afficher les erreurs
- chiffrage des mot de passe avec md5 ou sha1
- empêcher le lancement de fichier qui doivent normalement être inclue
- vol de session: régénérer les id de session
- protéger les pages d'administration
- vérifier chaque variable extérieur provenant de l'extérieur (POST GET FILE COOKIE, fichier distant): valeur négative pour les transferts d'argent ou d'objet, Chaine de caractère représentant un bâtiment inconnue etc... Ne pas faire confiance au script coté client. Include direct de valeur issue de superglobal
- vérifier toujours la connexion, afin d'éviter qu'il soit possible de faire faire des actions sans être connecté
- Rafraichissement ou clic multiple sur un bouton: implémenter un design patern RPC (ou utilisé judicieusement la méthode par jeton cf CSRF), faire un système de verrou.
- penser au cas de lancement de script simultanément, vis à vis de l'utilisation du modèle
Ca pourrait faire une bonne fiche dans le wiki...
Donc en lisant(et de ce que je sais) j'ai:
- le bannissement du compte n'est pas forcément la meilleure solution (discussion avec le pirate)
- utiliser des systèmes de contrôle et de traçage pour trouvé le problème
- mettre en place des hameçons afin de repérer les comportement douteux, et éventuellement détecter des failles en les pistant
Sinon j'ai fait une petite liste des choses auquel il faut faire attention, hésitez pas à compléter:
- magic_quote et changement hébergement (et de manière général la config de l'hébergeur (limite d'upload, version de php etc...)
- Injection SQL: mettre en place un système qui garantisse la protection des données et évite les oublie du programmeur
- upload vérifier extension ainsi que type mime
- connexion limiter le nombre de tentative dans le temps
- faille csrf: pas de GET pour les actions, mettre un système de jeton aléatoire, redemander le mot de passe pour changement mail et mot de passe, vérifier provenance des pages
- faille xss: mettre en place un système qui s'assure que du code ne peut être inséré et évite les oublie du programmeur.
- robot spam: coder mail afficher, mettre des captcha (ou autre) pour vérifier que l'utilisateur est humain sur l'inscription
- ne pas afficher les erreurs
- chiffrage des mot de passe avec md5 ou sha1
- empêcher le lancement de fichier qui doivent normalement être inclue
- vol de session: régénérer les id de session
- protéger les pages d'administration
- vérifier chaque variable extérieur provenant de l'extérieur (POST GET FILE COOKIE, fichier distant): valeur négative pour les transferts d'argent ou d'objet, Chaine de caractère représentant un bâtiment inconnue etc... Ne pas faire confiance au script coté client. Include direct de valeur issue de superglobal
- vérifier toujours la connexion, afin d'éviter qu'il soit possible de faire faire des actions sans être connecté
- Rafraichissement ou clic multiple sur un bouton: implémenter un design patern RPC (ou utilisé judicieusement la méthode par jeton cf CSRF), faire un système de verrou.
- penser au cas de lancement de script simultanément, vis à vis de l'utilisation du modèle