skale Posté 30 Septembre 2005 Posté 30 Septembre 2005 depuis quel temps j'ai un site victime d'une nouvelle méthode de SPAM (sauf erreur et de ma part et si je n'ai pas 3 wagons de retard) qui consiste à exploiter les fomulaires de contact disponibles sur le site. Comment fonction ce robot ? site en anglais - http://www.anders.com/cms/75/Crack.Attempt/Spam.Relay pour traduire, le robot spammeur, rajoute des \r\nbcc:adressespammée_AT_exemple.com\r\n sur des champs de formulaire qui se retrouveront en en-tête du message (par exemple le champ subject: ou from:). Pour son premier passage il utilisera l'adresse du spammeur pour vérifier si le script d'envoi du message possède une faille. Il revient ensuite spammer avec une belle liste d'adresse, en utilisant votre formulaire comme intermédiaire. Un moyen simple de se protéger face à cette technique est d'ajouter un bout de code avant l'envoi du message : pour tous les champs du formulaire remplacer \r et \n par un vide. Par exemple en PHP : $sujet = str_replace("\r","",$_POST["sujet"]);sujet=str_replace("\n","",$sujet); c'est tout simple, mais ça peut épargner non pas que vous soyez spammé mais que votre site serve de relais, ce qui à terme peut mettre votre domaine en blacklist sur les serveurs SMTP. skale
ams51 Posté 30 Septembre 2005 Posté 30 Septembre 2005 La premiere chose que je fais c'est de remplacer tous les arobase par (at) dans le formulaire. C'est un peu brutos mais ça ajoute une fine couche de protection Une autre méthode est de construire soi même l'entete du mail...
skale Posté 30 Septembre 2005 Auteur Posté 30 Septembre 2005 La premiere chose que je fais c'est de remplacer tous les arobase par (at) dans le formulaire. C'est un peu brutos mais ça ajoute une fine couche de protection <{POST_SNAPBACK}> avec cette méthode il n'est pas question d'@ mais une exploitation directe de ce qui suit Une autre méthode est de construire soi même l'entete du mail... <{POST_SNAPBACK}> c'est comme ça que le robot fonctionne, il rajoute des headers dans la construction des entêtes, il faut donc se prémunir de l'ajout d'adresses à spammer. Si j'ai un champ Sujet pour mon formulaire, le robot va le remplir de la manière suivante : monsujet\r\nBCC:spam_AT_example.com\r\n si l'entête est construit comme suit $headers.="Subject: ".$_POST["subject"]; Boum bada boum! donc oui il faut construire ces entêtes mais avec précaution. skale
adn Posté 30 Septembre 2005 Posté 30 Septembre 2005 (modifié) Bonjour, Je pense être victime de ce que tu décris depuis quelque temps sur plusieurs de mes sites, normal tu me diras j'utilise les memes services Pour être franc, je ne pige pas comment çà marche le spam en question. Dans mon cas, je ne construis pas le sujet comme dans ton cas, il est fixe. Par contre, j'utilise l'email de la personne que je mets dans le from (c'est peut-être çà la faille?) Sur quel champs, faut-il aussi faire le ménage ? Modifié 30 Septembre 2005 par adn
adn Posté 30 Septembre 2005 Posté 30 Septembre 2005 Me revoila Dans ton exemple, faudrait aussi retirer "spam_AT_example.com" en plus de \r\n , non ? Ou tout simplement ne rien envoyé, si on constate un "\r" quelque part dans les values ? (si j'ai bien pigé )
skale Posté 30 Septembre 2005 Auteur Posté 30 Septembre 2005 (modifié) Dans mon cas, je ne construis pas le sujet comme dans ton cas, il est fixe. Par contre, j'utilise l'email de la personne que je mets dans le from (c'est peut-être çà la faille?) Sur quel champs, faut-il aussi faire le ménage ? <{POST_SNAPBACK}> c'est ça la faille, exactement. Le mieux étant de faire le ménage sur tous les éléments de la variable $_POST La méthode du robot est d'ajouter des champs headers BCC: lors de la construction du message. Dans ton exemple, faudrait aussi retirer "spam_AT_example.com" en plus de \r\n , non ? Ou tout simplement ne rien envoyé, si on constate un "\r" quelque part dans les values ? (si j'ai bien pigé ) <{POST_SNAPBACK}> retirer l'adresse spam_AT_example.com n'est peut-être pas facile ou effectivement, vérifier la présence d'un \r et ne pas envoyé de message dans ce cas skale Modifié 30 Septembre 2005 par skale
adn Posté 30 Septembre 2005 Posté 30 Septembre 2005 Merci skale Je corrige tout çà de suite. BCC pour copie cachée, mais le \r\n c'est pourquoi faire ? Séparateur de keywords ? "\n" retour à la ligne, non ? mais "\r" ?
skale Posté 30 Septembre 2005 Auteur Posté 30 Septembre 2005 BCC pour copie cachée, mais le \r\n c'est pourquoi faire <{POST_SNAPBACK}> \r\n est un séparateur de commandes et aussi est utilisé pour séparer les entêtes, c'est défini comme ça dans la RFC 821 du protocole SMTP. Ce sont les caractères à utiliser pour signifier <CRLF> retour chariot + nouvelle ligne skale
thick Posté 30 Septembre 2005 Posté 30 Septembre 2005 Il y avait un topic qui donnait un script performant pour coder les emails mais je ne le trouve pas. Je vous laisse fouiner avec la fonction Recherche du Hub si ça vous dis, mais en attendant j'ai quand même trouvé ces 2 threads http://www.webmaster-hub.com/index.php?showtopic=14963&hl= http://www.webmaster-hub.com/index.php?showtopic=3927&hl=
Nullette Posté 30 Septembre 2005 Posté 30 Septembre 2005 Mes compétences limitées ne me permettent pas de comprendre. Est-ce que ce genre de spam peut concerner également un simple formulaire d'inscription créé en html (method="post") avec sa page de confirmation en php ?
adn Posté 30 Septembre 2005 Posté 30 Septembre 2005 Oui nulette, je suppose que dans ta page de confirmation, tu fais un mailto en utilisant peut-être des valeurs acquises à travers le formulaire pour alimenter, ou le sujet, ou le from.
Nullette Posté 30 Septembre 2005 Posté 30 Septembre 2005 Je n'ai pas de variable $Post La fin du code en php est : mail("fiche_AT_nullette.com","Inscription lettre nullette.com", "Email = $email\nPrenom = $prenom\nNom = $nom\nVille = $ville\nCode Postal = $codepostal\nPays = $pays\nTel = $tel\"From: fiche_AT_nullette.com\nReply-To: fiche_AT_nullette.com"); Que faut-il modifier dans le "from" et le "reply to ? Je n'ai pas de problèmes de spam, mais ... mieux vaut prévenir que guérir
adn Posté 1 Octobre 2005 Posté 1 Octobre 2005 Nulette, Pas de souçi pour toi puisque tu mets le sujet et le from en dur dans le mailto (ils ne proviennent pas d'un champ saisi. Pour ma part, je n'ai en fait pas de souci car je check les emails avec un controle sur l'email et sur le domaine. J'ai eu des tentatives apparemment mais qui se sont soldées par des échecs.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant