PHP Security Bypass

HackForum

PHP Security Bypass#
muj dotaz se tyka konfigurace php. nachazi-li se v direktive open_basedir mj. odkaz na aktualni adresar, tedy "." (napr. ".:/tmp/"), pak by melo byt teoreticky mozne open_basedir obejit pomoci prikazu chdir(), kterym se zmeni aktualni pracovni adresar a podminka by pak byla splnena. priklad snad napovi vic (safe_mode neberte v potaz):
----------
open_basedir = ".:/tmp/"
/tmp/foo.php
/home/emkei/bar.txt

kdyz se pomoci scriptu foo.php pokusim pracovat se souborem bar.txt, v pristupu mi logicky zabrani direktiva open_basedir (/home/emkei/ se v ni nenachazi).
zmenim-li si vsak pracovni adresar pomoci foo.php nasledovne (umyslne jsem zduraznil aktualni adresare):
chdir("./../home/emkei/.");
zmeni se mi pracovni adresar na /home/emkei/ (overeno pomoci prikazu getcwd()), pracovat ale se souborem bar.txt nemohu (otevreni, zobrazeni obashu atp.), v tom mi stale brani direktiva open_basedir se svym klasickym chybovym hlasenim, kde uvede absolutni cestu, pritom pracuji se souborem v aktualnim adresari a v direktive open_basedir se odkaz na aktualni adresar nachazi. na toto bezpecnosti riziko (umisteni tecky do podobnych direktiv) dokonce upozornuje samotny php manual, v praxi to tak ale nefunguje (prestoze pred tim varuji na ofic. php strankach) a me by tedy zajimalo, proc to tak je.
thx za rady...
(odpovědět)
Emkei | E-mail | Website | PGP23.8.2007 1:21
re: PHP Security Bypass#
Přesně s timhle příkladem nevim, jak bych ti mohl poradit, ale pokud neni na serveru zakázaná fce chdir() a getcwd() a je deaktivovanej sefe_mode tak by se dalo předpokládat, že bude povolená i fce ini_set() a s její pomocí si můžeš snadno změnit nastavení direktivy open_basedir. Takže by to neměl bejt zas až takovej problém.
(odpovědět)
.Indigo. | 213.250.202.*23.8.2007 18:15
re: PHP Security Bypass#
bohuzel ini_set() se narozdil od chdir() a getcwd() zakazuje mnohem casteji, natoz na webhostinzich, o jejichz bezpecnosti chystam clanek. chtel jsem uvest jako bezpecnostni riziko i vyse zmineny priklad, pokud vsak neni prakticky realizovatelny, nema smysl se o nem zminovat a brat v tomto pripade na varovani serveru php.net ohled.
(odpovědět)
Emkei | E-mail | Website | PGP24.8.2007 11:09
re: PHP Security Bypass#
Já sem to zkoušel, ale mě to ani při tej nejlepší vůli nešlo. A navíc si myslim, že na hostingových serverech bude asi vždycky (nebo já na žádnej takovej zatim nenarazil) aktivní safe_mode i když IMO vubec nezabrání útokům, ale jenom komplikuje práci programátorovi. Tudiž bych tuhle možnost vynechal. A jestli chceš teda psát o bezpečnosti hostingů, tak popiš ten způsob "session injection" jak využiješ toho, že se session ukládaj do jednoho adresáře a zaměníš tebou vytvořenou session za session důležitou pro web, na kterej útočíš. Myslim, že tim hacknul soom ten pan "Větralam".
(odpovědět)
.Indigo. | 213.250.202.*24.8.2007 19:20
re: PHP Security Bypass#
to je jedno, ze je aktivni safe_mode, stejne to ma mnoho hostingu tak hloupe nastaveno, ze se na to nemusis ohlizet (napriklad php bezi jako modul). chci psat o necem novem, ne o tom, co uz se na cz/sk internetovy scene objevilo.
btw vsichni, co dosud soom defacli meli pristup k ftp, takze to tak udelat nemohli, ale tohle vsechno je mimo muj prvotni dotaz :(
(odpovědět)
Emkei | E-mail | Website | PGP24.8.2007 19:56

Zpět
 
 
 

 
BBCode