php, mail et spam

WRInaute occasionnel
Pour info :

Ce matin, j'avais plus de 500 mails daemons... evidement qqun a utiliser mon serveur pour envoyer des spams.
Je cherche un peu d'ou ca vient et j'ai l'impression, d'apres les logs que j'ai, que qqun a reussi a utiliser un formulaire pour envoyer ces spams.
Je vous donne toutes les infos que j'ai, peut etre est ce une erreur dans mes scripts, une faille ou j'en sais rien, mais autant ca pourra vous servir... (pas pour faire du spam biensur!)





Page contact.php
Code:
...
<table>
<tr><td>&nbsp;</td></tr>
<tr><td><b><i>Contact</i></b></td></tr>
<?if($evc){
	$dest=$jmail;
	$headers .= "From: $sender\n";
	$headers .= "X-Sender: <$webmaster>\n";
	$headers .= "Return-Path: $sender\n";
	$headers .= "Content-Type: text/html; charset=iso-8859-1\n";
	$headers .= "MIME-Version: 1.0\n";
	$mailSubject = "Contact Club : ".$jsujet;
	$mailBody = "Nom : $jnom<br>\n";
	$mailBody .="Prenom : $jprenom<br>\n";
	$mailBody .="Email : $sender<br>\n\n";
	$mailBody .="Texte : $jtexte<br>\n";
	//
	mail ($dest, $mailSubject, $mailBody, $headers);
 	?>
	<tr><td align="center">Votre message a bien été envoyé.<br> Vous recevrez sous peu notre réponse.<br><br></td><tr>
	</table>
<?}else{?>
	<tr><td>
		<form name="cont" action="contact.php" method="POST">
		<table width="450" border="0" cellspacing="5" cellpadding="0">
		<tr><td colspan="2"><b>Formulaire de contact</b></td></tr>
		<tr><td>Nom&nbsp;</td><td><input type="text" name="jnom"></td></tr>
		<tr><td>Prénom&nbsp;</td><td><input type="text" name="jprenom"></td></tr>
		<tr><td>Email&nbsp;</td><td><input type="text" name="sender"></td></tr>
		<tr>
			<td>Destinataire&nbsp;</td>
			<td><select name="jmail">
				<option value="personne1@domaine.com">personne1</option>
				<option value="personne2@domaine.com">personne2</option>
				<option value="personne3@domaine.com">personne3</option>
				</select>
			</td>
		</tr>
		<tr><td>Sujet&nbsp;</td><td><input type="text" name="jsujet"></td></tr>
		<tr><td>Texte&nbsp;</td><td><textarea name="jtexte" rows="8" cols="35"></textarea></td></tr>
		<tr><td>&nbsp;</td><td><input type="submit" value="Envoyer" name="evc"></td></tr>
		</table>
		</form>
	</td></tr>
	<tr><td align="center" height="25"><a href="index.php">Retour</a></td></tr>
	</table>
<?}?>



Voila les daemons que j'ai recu :
(j'ai modifié les emails : club.com est mon serveur, aole.com c'est ceux qui se sont fait spammer)



Code:
Hi. This is the qmail-send program at club.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<gdzwdgxobr@club.com>:
Sorry, no mailbox here by that name. (#5.1.1)

--- Below this line is a copy of the message.

Return-Path: <root@club.com>
Received: (qmail 11247 invoked by uid 512); 28 Jul 2005 01:11:11 -0000
Date: 28 Jul 2005 01:11:11 -0000
Message-ID: <20050728011111.11246.qmail@club.com>
To:
Subject: Contact Club : gdzwdgxobr@club.com
From: gdzwdgxobr@club.com
Content-Type: multipart/mixed; boundary=\"===============1572995454==\"
MIME-Version: 1.0
Subject: test afaf8809
To: gdzwdgxobr@club.com
From: gdzwdgxobr@club.com

This is a multi-part message in MIME format.

--===============1572995454==
Content-Type: text/plain; charset=\"us-ascii\"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

ocrckkepnoq
--===============1572995454==
Content-Type: text/html; charset=\"us-ascii\"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

<html><body>Hello!</body></html>
--===============1572995454==--

X-Sender: <olivier@club.com>
Return-Path: gdzwdgxobr@club.com
Content-Type: multipart/mixed; boundary=\"===============1572995454==\"
MIME-Version: 1.0
Subject: test afaf8809
To: gdzwdgxobr@club.com
bcc: gewrightc@aole.com, gergespizzirri@aole.com, graco@aole.com,
	gigaceihc@aole.com, gealdjh@aole.com, gerldinecolas@aole.com,
	giseapolz@aole.com, gildaerqueira@aole.com, gewho@aole.com,
	ghbpice@aole.com, geranyvoyager@aole.com, getinos@aole.com,
	... (plus de 1000 Bcc)
	
	
From: gdzwdgxobr@club.com

This is a multi-part message in MIME format.

--===============1572995454==
Content-Type: text/plain; charset=\"us-ascii\"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

ocrckkepnoq
--===============1572995454==
Content-Type: text/html; charset=\"us-ascii\"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

<html><body>Hello!</body></html>
--===============1572995454==--
Nom : gdzwdgxobr@club.com<br>
Prenom : gdzwdgxobr@club.com<br>
Email : gdzwdgxobr@club.com
Content-Type: multipart/mixed; boundary=\"===============1572995454==\"
MIME-Version: 1.0
Subject: test afaf8809


...








Donc dans l'entete on retrouve :

Subject: Contact Club
Nom : ...
Prenom : ...

des infos qui viennent donc du formulaire precedent (page contact.php)

Dans mes logs d'apache, entre 1h et 3h du mat, j'ai eu pleins d'accés direct sur ma page (contact.php)

202.106.124.32 - - [28/Jul/2005:03:15:16 +0200] "POST /contact.php HTTP/1.1" 200 29828 "http://www.aeol.com.cn/" "-"


Donc le mec a directement posté d'un autre serveur sur mon formulaire.
Maintenant, comment a t-il fait pour rajouter le Bcc (domaine aole.com) alors que ce n'est pas dans mon script... je ne sais pas


Donc, je ne sais pas encore comment le mec a fait, si vous avez une idée...
Quoi qu'il en soit, j'ai modifier mon script, et la je suis sur que je n'aurai plus de blem!!!
 
WRInaute occasionnel
Pour le Bcc, il a juste repris ton formulaire en rajoutant un <input type="text" name="headers">, non ?

Comme toi tu commence direct avec $headers .= "From: $sender\n"; ça a rajouté tes headers aux siens.
 
WRInaute occasionnel
Rrrrrrrrrrr!!!!! mais kel couillon je suis !!!!

Ben c'est sur... j'ai presque envie de dire que c'etait simple, mais reste a savois comment le mec a pu y penser...

jeromax, j'ai changé les mails...
 
WRInaute occasionnel
Ben c'est la première idée qui m'est venue quand j'ai vu que tu commençais par $var.=
Pourquoi tu commence pas par $var= ?

Mais tu es sûr qu'il est passé par ton formulaire ?
Il est arrivé à changer le mailBody ?
 
WRInaute occasionnel
Ben oui, c'est evident pour moi maintenant... mais quand t'as le nez dedans... c'est corrigé avec $headers= pour la 1ere ligne.
A force de faire des ctrlC ctrlV, on ne lit plus!

Il n'a pas changé le mailbody, donc le message commence par Nom : ...
Prenom : ...
et il n'a envoyé que "hello" comme message
 
WRInaute occasionnel
slt

pas sur que ce soit la solution
s'il a repris ton script sur ca becanne avec un action l'adresse de ton script il a modifier la variable dest
dh
 
Discussions similaires
Haut