register_globals
Hello!
Azt szeretném megkérdezni (főleg rendszergazdákra gondoltam), hogy ha a php.ini-be a register_globals-t on-ra állítom, akkor a betörési felületet adok, stb? Ajánlot vagy sem?
Előre is kösz!
Szenya
■ Azt szeretném megkérdezni (főleg rendszergazdákra gondoltam), hogy ha a php.ini-be a register_globals-t on-ra állítom, akkor a betörési felületet adok, stb? Ajánlot vagy sem?
Előre is kösz!
Szenya
Re: register_globals
2. nem teremtesz betörési felületet, de nézzük a következő kódot:
loginform.html
-----
<form action="index.php">
<input type="text" name="login">
<input type="password" name="pwd">
<input type="submit" value="Belépés">
</form>
-----
index.php
-----
<?
if (jelszoellenorzes($login,$pwd)){
$belepett_user=$login;
}
if(!isset($belepett_user)){
include('loginform.html');
exit();
}
//id jonnek a vedett dolgok
?>
(En ilyet sose csinalok, csak a pelda kedveert irtam ide...)
Namost jon a "hacker" es beirja a bongeszobe:
index.php?belepett_user=admin
Es akkor a te kis scripted azt fogja hinni, hogy az "admin" nevu felhasznalo lepet be.
Ezt elkerulheted, ha a script elejen a $belepett_user nevu valtozot kinullazod, vagy r_g=off, es akkor nem tudsz _ilyen_ hibat elkovetni.
Azert gondolkodni sose art, r_g ide, vagy oda. ;))
pp
Re: register_globals
Ezt nem sértésként írtam pp.
Re: register_globals
Re: register_globals
;) mit ertesz az alatt, hogy "Mert ez adott"
Mi adott?
Meg egyszer leirnam, hogy amit irtam, az egy _bena_ kod, es pusztan a veszely szemleltetesere szolgal. Tehat sose szabad felteteleznunk, hogy egy valtozo ures kezdoertekkel indul, ha r_g on-on van.
Biztonsagi rest jelenthet, mert nagyobb odafigyelest igenyel ilyen kornyezetben jol megirni egy alkalmazast. Tehat nem a rendszergazda tevekenysege jelenti a veszelyforrast, hanem a felhasznalok meglete;))
Vegyunk akkor egy egyszeru fajlfeltolto formot. safe_mode=off beallitasnal ha a r_g on-on van, es nem hasznalod a move_uploaded_file es is_uploaded_file fuggvenyeket, tehat lehetoleg minden biztonsagi ajanlast figyelmen kivul hagysz, es egy egyszeru
copy($userfile_tmp_name,'idemasold') utasitassal masolod a webrol elerheto konyvtarba a "feltoltott" fajlt, akkor megtehetik azt, hogy atverik a programodat egy egyszeru kis formmal, mondjuk:
[nezd a formot 2 hozzaszolassal lejebb, es ne kerdezd miert nem kajalta meg itt a nuke....]
Nos erre is mondhatod azt, hogy "ilyen idiota ember nincsen", de ugyebar amikor biztonsagrol beszelunk, akkor erre mindig csak az az egy valasz lehet, hogy "de bizony van."
Mellekesen meg megjegyeznem, hogy sem ezt, sem az elobbi kis piti behatolasomat se lehet "cookival" kivedeni persze kerdes az, hogy mit ertesz cookie-s megoldas alatt.
Es akkor hogy tisztan lassunk en a kerdesedre probalok meg valaszolni, es te azt kerdezted, hogy rendszergazda szemmel jelent-e biztonsagi rest az r_g on hasznalata, amire a valasz az, hogy nem _jelent_, hanem _jelenhet_.
Tehat lehet ugy uzemeltettni egy komoly webszervert/webalkalmazast, hogy a r_g on-ra van allitva, be lehet ugy allitani ezt a webszervert, hgoy a felhasznalok csak a sajat dolgaikat tehessek tonkre.
Szoval csak ilyen kis piti hibak kihasznalasatol ov meg az r_g off.
pp
Re: register_globals
Sokkal könnyebb úgy megérteni a forrást, ha nem kell azon gondolkodni, hogy melyik változó honnan való.
Ezt register_globals on mellett is érdemes használni! :)
És ha már úgyis használod, akkor nyugodtan kapcsold ki! :)
A példa talán erőltetett (tényleg az:) de mi van, ha valaki ismeri a kódot, és addig-addig turkászik benne, amíg megtalálja, hogy azzal a csokival, amivel ellenőrizted, hogy egy adat bejövő adatot vagy sem, azt is szimulálja. index.php?user=admin&csoki_ellenorzes=1
Re: register_globals
<input type="hidden" name="userfile_tmp_name" value="/etc/passwd">
<input type="submit" value="behatolas;)">
</form>
Re: register_globals
Re: register_globals
Szenya, evvel mit akarsz most mondani??
mi az, hogy itt a pont? Milyen pont, es miert ott van?? Hol??
Mit nem értesz?
pp
Re: register_globals
Mivel te úgy tűnik a komolyabb feladványokat szereted, próbáld meg kitalálni, hogy mi lehetett a gondja ennek a kódnak. Most ez nem lehet igazán nehéz, mert tudjuk, hogy a register_globals bekapcsolt állapotának problémájára adtam példát, és konkrétan megmutattam, hogy a webhely kód mely része hibás, de hátha még így is találsz kihívást a dologban...
http://cvs.php.net/co.php/phpweb/search.php?login=2&r=1.38
Re: register_globals
Re: register_globals
Re: register_globals
Nyilvan mi magyarazunk rosszul, ha te nem erted. ;) Kiemelnem a kovetekzo mondatodat, es kerlek olvasd vegig, amit mi mondtunk:
Es akkor a temat lezarando:
Kivanom neked, hogy sose tevedj.
pp
Re: register_globals
Most azt mondod, hogy ha körültekintően írod meg a kódod, akkor nem lehet baj... Először is sose lehetsz eléggé körültekintő. A cirkuszi artisták is évtizedes tapasztalattal mennek a közönség elé, mégis használnak biztosítókötelet... Másrészt pedig rendszergazdáról volt szó, aki ugye nem igazán tudja befolyásolni, hogy milyen kódokat tesznek fel a szerver felhasználói...
Goba