PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sicherheitslücke im Userprofil (VMS 1.2.)



jpwfour
05.03.2008, 17:43
Es ist zwar nicht dirket eine Sicherheitslücke, aber Fakt ist, dass ein User die Anzahl der maximal Anzuzeigenden Banner komplett frei wählen kann, und um dass zu verhindern, sollte die Anzahl der maximal anzuzueigenden Banner per Array fest definiert werden, dann kann der User nur noch aus diesen wählen:

Datei /content/konto/userprofil.php
suche:

if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
$_POST['max_forced'] = (int)$_POST['max_forced'];
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");ersetze mit:

if ($_POST['newsletter'] == 1 and $_POST['paidmails'] == 1) $mailstatus = 3;
$_POST['max_forced'] = (int)$_POST['max_forced'];
if(!in_array($_POST['max_forced'], array(3, 5, 10, 20, 30, 40, 50))) $_POST['max_forced']=5;
db_query("UPDATE ".$db_prefix."_emaildaten SET freigabe_fuer = ".$mailstatus.", emailadresse = '".$_POST['emailadresse']."' WHERE uid=".$_SESSION['uid']."");hierbei können in dem teil:
array(3, 5, 10, 20, 30, 40, 50)
die möglichen werte eingestellt werden, und hier:
$_POST['max_forced']=5;
die default anzahl (standard ist 5 banner), wenn der user versucht, die lücke auszunutzen, alternativ könnte man sich auch den usernamen speichern lassen und ihn zur rede stellen ;)

ist zwar gundsätzlich nicht schlimm, aber bei seiten, die keinen klickfaker schutz haben,bzw. nur einen, der beim laden der banner seite angezeigt wird (captcha wie bei klammgeil/vms ), kann sich so in user alle banner auf einer seite ausgeben lassen und dann von seinem klickbot/script was auch immer schön abarbeiten.

aber auch im kleineren rahmen, also wenn sich ein user anstatt der vom admin gewünschten maximal 10 banner 20 anzeigen lässt, kann dieser user so schon einen unfairen vorteil anderen gegenüber z.Bsp. in der endphase einer klickralley oder so haben!

wer jetzt wissen will, wie man diese lücke ausnutz, fragt mich am besten per PN, und sollte auch einen berechtigten grund haben, dass zu erfahren, aber das könnt ihr euch ja denken.

hoffe, der code funzt bei allen, es kann sein, dass wenn ihr schon was an der datei userprofil.php geändert habt, dass der einbau dann etwas abweicht.