ALP - Banner Ad
***************
Informations :
°°°°°°°°°°°°°°
Langage : PHP
Version : 2.0.0
Website : http://www.phpeachee.com
Problème : Redirection
Developpement :
°°°°°°°°°°°°°°°
ALP - Banner Ad est un service de gestion de bannières qui contient une partie administrative.
Le fichier permettant d'afficher une bannière est getbanner.php et celui permettant de compter les clicks
est click.php .
Voyons la source de ce dernier :
---------------------------------------------------------------------------------------
<?php
include "./banadmin/config.inc.php";
$result = mysql_query("UPDATE banclk SET clicks = clicks+1 WHERE bannerid = '$banid'");
if ($link=='bps') {
$resulta = mysql_query("SELECT * FROM banners WHERE id=$banid");
$list = mysql_num_rows($resulta);
$rowa = mysql_fetch_array($resulta);
$bpslink = $rowa["url"];
header("Location: $bpslink");
}
else {
header("Location: $link");
}
?>
---------------------------------------------------------------------------------------
On ajoute donc un click dans la base de donnée pour la bannière numero $banid, puis, si $link vaut 'bps',
on va chercher l'url qui correspont dans la DB et on redirige vers elle.
Sinon on redirige vers $link.
Le lien correspondant à la bannière étant le plus souvent enregistré dans la DB, on verra surtout des urls du
type :
http://[website]/click.php?banid=20&link=bps
Mais on peut utiliser ce script pour rediriger quelqu'un vers un site determiné, en utilisant ce script.
Pour rediriger par exemple vers http://[attacker], il suffira d'entrer l'url :
http://[target]/click.php?banid=1&link=http://[attacker] .
[attacker] contenant par exemple un script nocif.
Patch :
°°°°°°°
Le mieux est d'utiliser uniquement la DataBase.
Il faudra donc changer click.php de cette façon :
---------------------------------------------------------------------------------------
<?php
include "./banadmin/config.inc.php";
$result = mysql_query("UPDATE banclk SET clicks = clicks+1 WHERE bannerid = '$banid'");
$resulta = mysql_query("SELECT * FROM banners WHERE id=$banid");
$list = mysql_num_rows($resulta);
$rowa = mysql_fetch_array($resulta);
$bpslink = $rowa["url"];
header("Location: $bpslink");
?>
---------------------------------------------------------------------------------------
Credits :
°°°°°°°°°
Auteur : frog-m@n
E-mail : leseulfrog@hotmail.com
Website : http://www.frog-man.org
Date : 28/09/02
Copyright frog-m@n
http://www.phpsecure.info/v2/zone/pArticle