Formail hacké

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Lun Sep 12, 2005 8:30

J'ai le meme soucis; j'avais ouvert un topic à ce sujet: http://www.webrankinfo.com/forums/topic ... 5562_0.htm

Mon problème n'est toujours pas résolu....

bed
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 31
Inscription: 5 Avr 2005

Message le Lun Sep 12, 2005 15:18

Puisque apparement c'est un robot, une idée serait de faire un lien javascript vers ton formulaire de contact, il semblerait que les robots n'aiment pas trop le javascript.

Voici quelques portions de code qui pourront peut être t'aider à sécuriser ton formulaire.
Sur ce site en anglais qui parle uniquement de ce problème :
http://www.anders.com/cms/75

Code: Tout sélectionner
This is what you need to do in PHP form:

Make sure you end your headers with \r\n\r\n.

change

$headers .= "From: " . $from . "\r\n";

to

$headers .= "From: " . $from . "\r\n\r\n";

It is always best to filter mail form inputs

// Strip \r and \n from the email address

$_POST['email'] = preg_replace("\r", "", $_POST['email']);
$_POST['email'] = preg_replace("\n", "", $_POST['email']);

// Remove injected headers

$find = array("/bcc\:/i","/Content\-Type\:/i","/cc\:/i","/to\:/i");

$_POST['email'] = preg_replace($find, "", $_POST['email']);
$comments = preg_replace($find, "", comments);

Ian

ou encore :
Code: Tout sélectionner
if (eregi("\r",$MailFrom) || eregi("\n",$MailFrom) || eregi("Content-Type:",$MailFrom)){
die("SPAM Injection Error :(");
}


Sur l'article de phpsecure.info :
Code: Tout sélectionner
sécuriser les failles d'injection d'headers mail, il doit y avoir plusieurs manières differentes. Une idée serait d'ajouter, après la ligne :


$from=$_POST["expediteur"];

le code suivant :


if (eregi("\r",$from) || eregi("\n",$from)){
die("Why ?? :(");
}


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Lun Sep 12, 2005 15:53

Je suis entrain de controler différentes choses... Je vous tiendrais au courant...

Je verifie si il y a pas de @ dans le nom \n et \r

Merci en tout cas


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Mer Sep 14, 2005 8:00

Premier retour,
pour le moment ça fonctionne....


BigDebutant
WRInaute discret
WRInaute discret
 
Messages: 67
Inscription: 26 Juil 2004

de même

Message le Mer Sep 14, 2005 9:37

Salut,

moi aussi, cela fonctionne.

En fait j'ai ajouté le test sur le HTTP_REFERER. Pour vérifier de quel site la page a été appelé.
Et j'ai laissé les tests sur les \r et \n.

Bon c'est pas top pour avoir des mails formatés. C'est ce qui m'embête le plus.

Sandrine


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Mer Sep 14, 2005 9:56

Perso j'ai plusieurs champs dans mon formulaire et je fais le test seulement sur deux champs et pour l'instant ça suffit et ça me bouzille pas ma mise ne page


yeca
WRInaute impliqué
WRInaute impliqué
 
Messages: 953
Inscription: 2 Sep 2003

Message le Mer Sep 14, 2005 10:05



AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Mer Sep 14, 2005 10:11

<?php
if (eregi(chr(10),$mail) || eregi(chr(13),$mail) || eregi('Content-Type:',$mail)) {
exit('SPAM Injection Error :(');
}
?>

Merci de l'info Yeca mais en fait ça correspond à la meme chose puisque:

Chr(13) et Chr(10) Combinaison de retour chariot et de saut de ligne.

donc c'est equivalent \n et \r

a priori c'est la seule solution.... sans passer par le captcha code ou les questions betes


yeca
WRInaute impliqué
WRInaute impliqué
 
Messages: 953
Inscription: 2 Sep 2003

Message le Mer Sep 14, 2005 10:16

Oui oui tout à fait, ça ne fait que confirmer :)


yeca
WRInaute impliqué
WRInaute impliqué
 
Messages: 953
Inscription: 2 Sep 2003

Message le Mer Sep 14, 2005 13:28

Bon : testé, pas approuvé, ça marche pas.


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Mer Sep 14, 2005 15:21

pas compris??


yeca
WRInaute impliqué
WRInaute impliqué
 
Messages: 953
Inscription: 2 Sep 2003

Message le Mer Sep 14, 2005 15:24

Ben après installation de ce script, je reçois toujours les fameux spams.


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Mer Sep 14, 2005 15:34

fais voir le code de ta page (en mp stu veux)


yeca
WRInaute impliqué
WRInaute impliqué
 
Messages: 953
Inscription: 2 Sep 2003

Message le Mer Sep 14, 2005 15:54

J'ai simplement ajouté le bout de code avant la fonction mail() :)


AW
WRInaute passionné
WRInaute passionné
 
Messages: 2274
Inscription: 31 Mai 2005

Message le Jeu Sep 15, 2005 7:49

il faut que tu controles un des champs de ton formulaire...

Formail hacké Formail hacké

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités