Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
sécuriser une page contact
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Sécurité informatique
::  
Auteur Message
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Mer Sep 20, 2006 9:52 pm    Sujet du message: sécuriser une page contact

Bonjour Smile ,


J'essaye d'améliorer la page contact et livre d'or de mes 2 ou 3 sites.
Je voulais savoir si par un formulaire on peut faire des injections de langage php qui pourrait ensuite nuire au site.

merci
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Mer Sep 20, 2006 11:23 pm    Sujet du message: Re: sécuriser une page contact

Question sécurité et injection de code, tout dépend de la façon dont est construit ton script.

Dans l'ordre des précautions à prendre, ne pas utiliser register global est une très bonne chose qui évite bon nombre de possibilités d'injection de code.
Car il n'y a plus confusion entre les variables internes (dans le script) et les variables $_POST et $_GET.

Ensuite, ne pas faire l'économie d'initialiser ses variables, c'est tout bête, mais si on le fait pas, une injection réussie ne serait pas écrasée par l'initialisation.

Il faut également filtrer un minimum les variables susceptible de venir de l'extérieur, ce qui est fait de manière générale pour phpBB dans common.php :

Code:
if (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on')
{

...
}

Qui est utile si jamais register_global est sur on, et :

Code:
if( !get_magic_quotes_gpc() )
{

...

}


Qui pallie au manque éventuel de magic_quotes_gpc

Ces deux précaution générales sont uniquement utiles, indispensable même) si register_global est sur ON et/ou si magic_quotes_gpc est sur FALSE.

Ensuite, à l'interieur de ton code, tu es plus tranquille sans SQL qu'avec forcement. Et plus avec des SELECT qu'avec des UPDATE ou des INSERT.
Dès qu'il y a interaction avec la db, il faut convenablement filtrer les variables. htmlspecialchars(), intval() etc ... sont tes amis Wink

Enfin, dès que tu as un formulaire, il faut également filtrer les variables reçue avant de faire quoi que ce soit avec, car il y a possibilité d'attaques Cross Site Scritping XSS.
Si par exemple tu ne ne passes pas toutes les variable postés et qui seront ré-affiché par htmlspecialchars(stripslashes()), il est possible d'attaquer en utilisant du html tout simplement. Pas nécessairement possible, mais la précaution est la règle.

De la à dire qu'on est en sécurité si on code proprement ... il n'y a qu'un pas, car jusqu'ici on ne fait que limiter l'interaction à l'utile (si on veut un pseudo dans un formulaire, pas besoin de laisser du html interprétable, initialiser toutes ces variable est une très bonne habitude qui aide aussi à bien organiser son code, register_global n'est jamais nécessaire si on code proprement en définissant convenablement ses variables etc ...

Après il ne faut pas non plus trop a paranoyer, mais quand même, tant qu'à coder autant le faire le plus proprement possible, c'est mieux à tous les nouveaux.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Jeu Sep 21, 2006 8:09 pm    Sujet du message: Re: sécuriser une page contact

Bonjour dcz,

Je trouve ton post très intéressant.... je pense que je reviendrai dessus dès demain.
a+

Alain
Revenir en haut de page
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Sam Sep 23, 2006 10:40 pm    Sujet du message: Re: sécuriser une page contact

Bonjour,

Après recherche, pour ceux qui ne peuvent pas mettre register_globals sur off, j'ai trouvé un code sympa et qui marche (je l'ai vérifié). Il se palce en début de page php, et il "émule" la page comme si register_blobals était sur off:


Code:

<?php
// Émulation de register_globals à off
function unregister_GLOBALS()
{
   if (!ini_get('register_globals')) {
       return;
   }

   // Vous pouvez vouloir modifier cela pour avoir une erreur plus jolie
   if (isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])) {
   die('Tentative d\'effacement des GLOBALS détectée');
   }

   // Les variables à ne jamais effacer
   $noUnset = array('GLOBALS',  '_GET',
   '_POST',    '_COOKIE',
   '_REQUEST', '_SERVER',
   '_ENV',    '_FILES');

   $input = array_merge($_GET,    $_POST,
   $_COOKIE, $_SERVER,
   $_ENV,    $_FILES,
   isset($_SESSION) && is_array($_SESSION) ? $_SESSION : array());

   foreach ($input as $k => $v) {
       if (!in_array($k, $noUnset) && isset($GLOBALS[$k])) {
           unset($GLOBALS[$k]);
       }
   }
}

unregister_GLOBALS();

?>


cela vient de la page
http://fr.php.net/manual/fr/faq.misc.php#faq.misc.registerglobals

C'est pas mal non?

++
Alain
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Sam Sep 23, 2006 11:32 pm    Sujet du message: Re: sécuriser une page contact

Carrément, une vrai bonne solution pour ceux qui n'ont pas le choix du réglage mais qui n'ont pas non plus besoin de register global.

Un bon petit plus coté sécurité, ça doit aussi un peut aider la vitesse de se débarrasser de toutes ces variables qui traîne directe, bien entendu, moins que si on ne les enregistre jamais (register_global off) mais tout de même.

Ils pensent à tout sur php.net Wink

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Mar Sep 26, 2006 12:39 pm    Sujet du message: Re: sécuriser une page contact

Bonjour Surprised ,


et du coté du controle des données provenant de formulaires (page contact, livre d'or), tu conseillerais quoi par exemple?

Phpbb contient sans doute des controles intéressants des posts avant validation non? Sachant que ces posts entrent dans une base et donnée et sont ensuite affichés... Il doit y avoir la totale ou pas loin non?
A quel endroit du code trouver tout ca?



a+
Alain
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Mer Sep 27, 2006 9:54 pm    Sujet du message: Re: sécuriser une page contact

Code:
$message = trim(htmlspecialchars(addslashes($_POST['message'])));

Fait tout ce qu'il faut. Mais cela vire tout le html.
Le processus de phpBB est bien plus long et éparpillé, mais cela reviens en gros à ça.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Ven Sep 29, 2006 8:00 am    Sujet du message: Re: sécuriser une page contact

Bonjour Smile ,


et merci pour tes infos...
la fonction htmlspecialchars a l'air vraiment très bien.

Par contre quel est l'intérret exact de la fonction trim?
Son role est d'enlever les premier et dernier blans d'une variable.

Quel est le rappart avec la sécurité du forumulaire?
merci...


Alain
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Ven Sep 29, 2006 12:13 pm    Sujet du message: Re: sécuriser une page contact

trim(), c'est juste une bonne habitude, car tu pourrais conditionner certains évènements à la taille d'une chaîne de caractères, et te faire gruger par un espace malicieux Wink

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Ven Sep 29, 2006 7:12 pm    Sujet du message: Re: sécuriser une page contact

ok....
Revenir en haut de page
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Dim Oct 22, 2006 8:48 pm    Sujet du message: Re: sécuriser une page contact

Bonjour dcz,

suite de l'aventure....

D'abord le principe de mon livre d'or
******************************
Quand un message est posté, un mail m'est envoyé pour me demander si je veux le valider pour l'afficher (livre d'or modéré).

mon livre d'or a chauffé à blanc aujourd'hui.
J'ai eu environ 20 fois des envois de mail par ma page livre d'or.

remarque 1
*********
C'est vraiment bizarre. Je viens de regarder et en fait ca fait plusieurs moi, que 'javais des message non validé (livre modéré) du type:

[MOD]Pas la peine de leur faire de la pub, même sans lien actifs Wink on peut résumer en disant qu'il utilisent des combinaison de bbcode URL et de liens html [/MOD]

Dans la pratique, cela veut dire que les spammeurs mettent dans leur message, à un endroit des syntaxes avec des crochets , et qu'ailleurs ces crichets sont remplacés par des < et des >.... sinon je vois pas l'interret.

remarrque 2:
***********

Les exemples ci-dessus datent de plusieurs mois. Voila des exemples d'aujourd'hui:

C'est un message que j'ai recu pour validation:

*******************
département: h*tp://www.spammeur.net/?mforum=carrera#viagraget viagra<a href=\"ht*p://www.spammeur.net/?mforum=carrera#viagra\">viagra sale</a> [url=h*tp://www.spammeur.net/?mforum=carrera#viagra]viagra sale[/url]

message:

ht*p://www.spammeur.net/?mforum=carrera#viagraget viagra<a href=\\\"ht*p://www.spammeur.net/?mforum=carrera#viagra\\\">viagra sale</a> [url=ht*p://www.spammeur.net/?mforum=carrera#viagra]viagra sale[/url]

*********************

on retrouve le meme principe des crochets

il y a la en plus,plusieurs anomalies.
je fait notamment un test sur la taille de la variable département. Si elle dépasse 3 ou 4 caractère le message n'aurait pa du etre accepté... comment se fait-il que le test n'ai pas marché?
Voivi mon test:
if (strlen($departement) > 3)
{ $anomalie = 'oui'; // tentative de spam
}
C'est incroyable ce truc non?
D'autant plus que j'ai la propriété
register_globals = off



remarque 3:
**********
Sur les 20 tentatives d'envoi de spam, une seule a donné lieu à une proposition de message à valider (celle ci-dessus).
Toutes les autres ont données lieux à un message d'alerte du type suivant (notez que j'ai à chaque fois une adresse ip... est-ce que je peux en faire quelque chose) qui me sont envoyées.


******************************
manoeuvre frauduleuse
******************************
quelqu'un vient de tenter une manoeuvre tendancieuse sur votre site
machin.com page livre d'or :

url en question : /livre.php
adresse ip de la personne en question: 210.114.183.194

message : <a href=\\\"h*tp://spammeur.com/?24429\\\">viagra pharmacy</a> [url=h*tp://spammeur.com/?24429]viagra pharmacy[/url] <a href=\\\"h*tp://spammeur.com/?24427\\\">viagra prescription</a> [url=ht*p://spammeur.com/?24427]viagra prescription[/url] <a href=\\\"ht*p://spammeur.com/?24430\\\">cheapest viagra</a> [url=ht*p://spammeur.com/?24430]cheapest viagra[/url] <a href=\\\"ht*p://spammeur.com/?24428\\\">purchase viagra</a> [url=ht*p://spammeur.com/?24428]purchase viagra[/url]

prenom: Pennsylvania

Si autant de ces messages ont été envoyés, c'est qu'ils marchent effectivement (sinon le robot aurait arreté).
Voici la ligne qui envoie le mail d'alerte:

if (($anomalie1 == 'oui') ou ($anomalie2 == 'oui'))
{ mail($mail_webmestre,"spam sur machin.com?",$message_d_alerte);
}

C'est peut-etre juste une mauvaise manip de l'internaute
Bonne journée

Voila, donc c'est sur , le message doit partir...mais comment arreter ca?

J'ai 2 idées immédiates:

* tronquer d'emblée, tout message qui dépasse le nombre de caractères imposés par le formulaire.
* il est clair que les spammeurs, doivent utiliser avec brio tous les en_tete de mail qu'ils injectent peut-etre dans le message proprement dit ou au moins dans une variables qui est utilisées dans le mails... il faudrait que je trouve les tests à faire sur les champs, pour supprimer les messages qui comporteraient ces en-tetes...


Mais il est clair qu'il faut quand meme que mon test sur la taille de la variable marche... et apparemment, la il y a moyen de le contourner.



Merci pour vos idées...
Je pense que ca vaut le coup de se battre pour que ce genre de truc arrete.
Revenir en haut de page
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Lun Oct 23, 2006 7:40 am    Sujet du message: Re: sécuriser une page contact

Bonjour,


Je viens de trouver plusieurs problèmes dans ma page qui sont réglé.
J'ai rajouté la fonction trim sur mes variables.
J'ai trouvé pourquoi le test sur ma variable n'avait pas marché: il y avait une faute d'orthographe dessus!
J'ai ragardé pourquoi , le robot n'a pas utilisé ma page contact... en effet j'y tronque tous le champts trop long... c'est ce que je viens de faire.

de plus je fait un test sur la présence de crochet.

de plus j'ai décortoqué plusieurs spam, que j'ai noté certain en-tete de message qui n'apparaissent pas avec une utilisation normale de ma page livre, cela veut dire que ces en-tete sont forcément ajouté dans les variables des forumulaire... donc je controle toutes mes variables pour voire si elles contiennent ces en-tete.

Je pense que la j'ai bétonné.
j'avoue que la, il faut etre plus que motivé pour envyer du spam depuis ce site...

Mais effectivement pour la petite histoire, le moteur de spam s'attaquait toutes les 30 mn à mon site... c'est assez impressionnant.

A partir du moment, ou ca ne marchait plus, il est parti sans revenir...

Pour la petite histoire, je dirais que le moteur de spam était très intelligent, car il a du tester patiemment toutes les variables du formulaires, pour trouver celle qui était utilisable (sans taille limite). Et il l'a trouvée... Comme quoi il travaille très méthodiquement avec de vrais algos...



a+
Alain
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Lun Oct 23, 2006 9:55 am    Sujet du message: Re: sécuriser une page contact

Intéressant en effet.

Pour le coup des [ à la place des <, c'est bizarre, d'un coté on pourrait se dire que les spammeur on deux de QI, ce qui est possible, et qu'il se soucient à moitié de ce qu'il postent, moitié bbcode, moitié html, mais vu les efforts déployés, il se peut que ce soit une partie de leur stratégie.
Je pense qu'ils essaient à tout prix de poster des liens actifs, donc ils essaient le bbcode URL, très répandu, et aussi, un petit coup de html pur au cas ou.

C'est intéressant de voir qu'un test automatiser de formulaire semble être mis en place, peut être qu'un captcha (confirmation visuelle) performant serait un complément intéressant.

Pour les Ip que tu as récolté, je pense que tu pourrais :

1) voir si certaine se répètent parmi les essais listés;
2) voir si elle ne sont pas utilisés à autre chose dans tes logs serveur autour des même horaires, principalement tentatives d'accès à des dossier protégés (admin/, includes/ db/) ou à des scripts d'inscription;
3) si tu trouves des IP pas mal utilisées pour du spam ou pire, un petit tour sur http://www.dnsstuff.com/ pour un petit WHOSI lookup sur ces ip. Là en gros, tu devrais pouvoir déterminer si l'IP est dynamique et d'où elle viens.
Une IP à des chances d'être dynamique si elle appartiens à un fournisseur d'accès pour particulier, comme wanadoo etc ... et ce n'est pas forcement très efficace de bannir dans ce cas, mais si tu tombe sur des IP de faculté (.edu), d'administration ou de boite obscure et provenant d'un pays pas très regardant, alors un petit ban et/ou un spam report (tu as le mail pour ça dans le WHOIS), peut être très efficace.

En effet, il y a fort à parier qu'un tel soft de spam soit utilisé par pas tant de personnes que ça, et donc pas tant d'ip que ça, surtout s'agissant d'une seul site cible (peut de chances que 50 spammeurs différents aient utilisés ce soft sur ton site).
Un ban d'IP au niveaux serveur est tout simplement radical, et le message est très clair, le spammeur saura tout de suite qu'une veille active existe sur ce site et qu'à terme il risque de perdre ses IP (à force de spam report), ce qui je le pense devrait convaincre une bonne partie d'entre eux de se concentrer sur le reste du oueb Wink

Ban IP par .htaccess :

Code:
Satisfy any
Order Deny,Allow
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxx
Deny from xxx.xxx.xxx.xxx
Allow from all


Avant le RewriteEngine on.

[EDIT]Pour ton IP : http://www.dnsstuff.com/tools/whois.ch?ip=210.114.183.194
Ça se banne sans trop réfléchir, je doute que beaucoup de Coréens viennent sur ton site Wink[/EDIT]

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
alain



Inscrit le: 28 Juil 2006
Messages: 42
Localisation: fr

sécuriser une page contactPosté le: Mar Oct 24, 2006 12:36 pm    Sujet du message: Re: sécuriser une page contact

Bonjour dcz,

Rien qu'aujourd'hui, j'ai eu plus de 10 saisie 'frauduleuses' sur ma page contact.
j'ai vérifié les ip, sur l'outils que tu m'a donné.... les résultats sont délirants: le brézil, la chine , l'allemagne, le penjab....

Bref, il est clair que les ip ont l'air complètement bidon....

Je sais plus trop quoi faire....

a+
alain
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 13354

sécuriser une page contactPosté le: Mar Oct 24, 2006 4:35 pm    Sujet du message: Re: sécuriser une page contact

Et bien, le plus simple, c'est de bannir les plus exotiques de ces ip.

Pour t'organiser un peut, tu peux mettre la date en commentaire pour chaque ip (avec des # en début de lignes dans un .htaccess), pour que tu puisses remettre les compteur à zéro de temps en temps.

Après une ip chinoise ou russe qui ne fait que des tentatives de hack, c'est pas bien grâve de la bannir plus longtemps, pas beaucoup de risques de refouler de vrai visiteurs.

Pour les cas les plus graves, parce que lourdement répétitifs ou utilisant manifestement plusieurs IP, j'envoie un spam report (en général, il y a un mail dans le WHOIS), pas certain que ça serve, mais y'a pas de raisons de tout laisser faire.

En tous cas, le ban au niveau serveur est la meilleur garantie de faire passer un message clair, fatalement le spammeur s'en rendra compte (plus aucun accès possible sur tout le site) et aura des chances de ne pas vouloir trop insister, car il est toujours possible qu'un spam report porte ses fruit et qu'il perde l'usage de cette IP, assez souvent utilisée frauduleusement (hack ou usage abusif de proxy publiques).
Et les IP, c'est bien le nerf de la guerre du spammeur et du hacker.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Sécurité informatique
Page 1 sur 2 Aller à la page 1, 2  Suivante

Navigation Autres sujets de discussion

Sauter vers: