[ HOW 2 ] Fixx Henniks Script New Bug

08/12/2010 18:23 ciao123#1
Hallo


der bug ist in der head.inc.php

mit den bug kann man die ganze datenbank löschen coins geben und so weiter

BUG:

$sqlCmd = "SELECT id,login,coins,web_admin
FROM account.account
WHERE login
LIKE '".$_POST['userid']."'
AND password=PASSWORD('".$_POST['userpass']."')
LIMIT 1";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0)

FIX:

$sqlCmd = "SELECT id,login,coins,web_admin
FROM account.account
WHERE login
LIKE '".$name."'
AND password=PASSWORD('".$pass."')
LIMIT 1";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0)
08/12/2010 18:24 amphetaminecoffee#2
Danke!
08/12/2010 18:55 garrisson#3
Hennink hat dies schon gefixt ;)
man beachte die "mysql_real_escape_string"
Vllt. erst schauen, dann posten ;)
Gruss


PHP Code:
      $sqlCmd "SELECT id,login,coins,web_admin,email 
      FROM account.account 
      WHERE login 
      LIKE '"
.mysql_real_escape_string($_POST['userid'])."' 
      AND password=PASSWORD('"
.mysql_real_escape_string($_POST['userpass'])."') 
      LIMIT 1"
;
      
$sqlQry mysql_query($sqlCmd,$sqlServ);
      if(
mysql_num_rows($sqlQry)>0
      {
        
$getAdmin mysql_fetch_object($sqlQry);
        
$_SESSION['user_id'] = $getAdmin->id;
        
$_SESSION['user_name'] = $getAdmin->login;
        
$_SESSION['user_admin'] = $getAdmin->web_admin;
        
$_SESSION['user_coins'] = $getAdmin->coins;
        
$_SESSION['user_email'] = $getAdmin->email;
        
$updateIP mysql_query("UPDATE account.account SET web_ip='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."' WHERE id='".mysql_real_escape_string($getAdmin->id)."'",$sqlServ); 
08/12/2010 19:38 ciao123#4
geht auch so noch schon testet
08/12/2010 19:53 garrisson#5
Ahja, wie bitte schön denn? Das geht eindeutig nicht mehr mit den Escapes. Ansonten will ich Beweis sehen.
08/12/2010 20:05 MentosMint#6
Geht noch habe Hennink aber schon geschrieben.
08/12/2010 20:14 garrisson#7
Hennink hat das oben erwähnte schon gefixt. Ich habe den betreffenden Ausschnitt aus aktuellen Script von Hennink kopiert. Es existiert also im Moment kein Bug mehr.
@ciao123: Erst informieren, dann posten.
08/12/2010 20:16 ciao123#8
alter es gibt mehre bug meinste es gibt nur einen
08/12/2010 20:26 hen!#9
Quote:
Originally Posted by ciao123 View Post
Hallo


der bug ist in der head.inc.php

mit den bug kann man die ganze datenbank löschen coins geben und so weiter

BUG:

$sqlCmd = "SELECT id,login,coins,web_admin
FROM account.account
WHERE login
LIKE '".$_POST['userid']."'
AND password=PASSWORD('".$_POST['userpass']."')
LIMIT 1";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0)

FIX:

$sqlCmd = "SELECT id,login,coins,web_admin
FROM account.account
WHERE login
LIKE '".$name."'
AND password=PASSWORD('".$pass."')
LIMIT 1";
$sqlQry = mysql_query($sqlCmd,$sqlServ);
if(mysql_num_rows($sqlQry)>0)
Abgesehen davon, dass ich das in 1.3 gefixt habe ist dein Fix nicht korrekt, da du mit variablen arbeitest die nicht deklariert werden.

Und "JannWx" hat genau von der gleichen Stelle gesprochen.
08/12/2010 20:42 garrisson#10
Quote:
Originally Posted by ciao123 View Post
alter es gibt mehre bug meinste es gibt nur einen
Ja, aha, was helfen Behauptungen? Beweise und aufzeigen wo und wie der Bug ausgenuzt werden kann! Ich kann auch daher kommen und sagen, oh, da hats viele Bugs drin. Wow, hilft das weiter?
08/13/2010 02:11 LianLi♥Hera#11
#reported, gibt es schon

Erstmal SuFu benutzen und dann posten :)
08/13/2010 05:56 .Sh4rk#12
OMG auch noch das >.< crank :P
08/13/2010 16:28 banjo1#13
Quote:
Abgesehen davon, dass ich das in 1.3 gefixt
*closed

einfach immer die aktuelle version benutzen