Aller au contenu

Sujets conseillés

Posté

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

Posté

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...

Posté
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

Posté (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é par adn
Posté

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é )

Posté (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é par skale
Posté

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" ?

Posté
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

Posté

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 ?

Posté

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.

Posté

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 :)

Posté

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. :)

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...