Jetzt kostenlos Anmelden!

Headless Männlich

... nur noch zur deko

Beiträge: 2 374

Geschlecht: Männlich

Wohnort: Nürnberg

PHPKIT Version: keine

1

Mittwoch, 14. November 2007, 09:40

login/buddy.php

Orginal Post von Musel am 23.02.2005 - 03:44
Diskussion: http://archiv.kit-security.de/include.ph…hp&threadid=837

Dooki hat bei einer AddOn idee von uns ein bug gefunden, welchen wir hier mal fixen wollen.

Sucht die Datei login/buddy.php

dort volgende Zeilen:

~Zeile 5 bis Zeile 12:

PHP-Quelltext

1
2
3
4
5
6
7
  if (isset($_REQUEST['add']) && $_REQUEST['add']!=$USER['id']) {
   if ($DB->num_rows($DB->query("SELECT * FROM ".$db_tab['buddy']." WHERE buddy_friendid='".$_REQUEST['add']."' AND buddy_userid='".$USER['id']."' ORDER by buddy_id DESC LIMIT 1"))==0) {
    $DB->query("INSERT INTO ".$db_tab['buddy']." (buddy_userid, buddy_friendid) VALUES ('".$USER['id']."','".$_REQUEST['add']."')");
    }
   }
  elseif ($_REQUEST['add']==$USER['id']) {$event=39; include("admin/config/event.php");}
   if (isset($_REQUEST['drop']) && $_REQUEST['drop']!='') {$DB->query("DELETE FROM ".$db_tab['buddy']." WHERE buddy_friendid='".$_REQUEST['drop']."' AND buddy_userid='".$USER['id']."'");}


Und ersetzen mit:

PHP-Quelltext

1
2
3
4
5
6
7
 if (isset($_REQUEST['add']) && intval($_REQUEST['add'])!=$USER['id']) {
   if ($DB->num_rows($DB->query("SELECT * FROM ".$db_tab['buddy']." WHERE buddy_friendid='".intval($_REQUEST['add'])."' AND buddy_userid='".$USER['id']."' ORDER by buddy_id DESC LIMIT 1"))==0) {
    $DB->query("INSERT INTO ".$db_tab['buddy']." (buddy_userid, buddy_friendid) VALUES ('".$USER['id']."','".intval($_REQUEST['add'])."')");
    }
   }
  elseif (intval($_REQUEST['add'])==$USER['id']) {$event=39; include("admin/config/event.php");}
   if (isset($_REQUEST['drop']) && intval($_REQUEST['drop']) > 0) {$DB->query("DELETE FROM ".$db_tab['buddy']." WHERE buddy_friendid='".intval($_REQUEST['drop'])."' AND buddy_userid='".$USER['id']."'");}


Wer es manuell ändern möchte suche nach $_REQUEST['add'] und ersetze es mit intval($_REQUEST['add']) der erste request ((isset($_REQUEST['add'])) kann so bleiben.
Und nach : $_REQUEST['drop'] (die erste abfrage bleibt wieder so) und ersetz die zweite mit: intval($_REQUEST['drop']) > 0) und die dritte mit: intval($_REQUEST['drop'])

Das sollte es erstmal gewsen sein. Der fehler ist nicht wegen ein angriff, sondern mehr durch zufall aufgefallen.

mfg Euer Kitnetwork Team.
  • Zum Seitenanfang
  • Zum Seitenende