Portál AbcLinuxu, 16. července 2025 19:09


Dotaz: PHP - Podstrčení proměnné

11.3.2011 23:46 Doležal
PHP - Podstrčení proměnné
Přečteno: 2613×
Odpovědět | Admin
Ahoj, může mi tohle někdo vysvětlit, ty 4 obrázky jned shora?

http://access.feld.cvut.cz/view.php?cisloclanku=2007080003

to je prece absolutni nesmysl, co tam píše..
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.3.2011 00:00 Sten
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Naopak, to je naprosto běžný bezpečnostní problém PHP aplikací, pokud je zapnuto register_globals a proměnné nejsou explicitně inicializovány (a možná byste se divil, kolik takových PHP aplikací na webu je).
12.3.2011 00:00 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nesmysl to není. Jde o demonstraci volby "register_globals". Je-li zapnuta, je PHP jedno, jak se k $promenne prislo - zda se dostala definicí ve scriptu, GETem, POSTem ci jinak. => Díra, kterou může útočník změnit hodnotu libovolné proměnné nejjednodušeji třeba pomocí getu - např. tedy index.php?auth=1.
12.3.2011 00:03 Doležal
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Odpovědět | | Sbalit | Link | Blokovat | Admin
To ano, ale tady se jedná o to, že to mužu zabezpečit jak chci a utocnik vzdycky podstrci co bude chtit..
12.3.2011 00:10 l4m4
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Kde se tam podle tebe píše něco takového?
12.3.2011 00:31 Doležal
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
No nepise ale narazim na tohle
Ošetřit pomocí důsledné inicializace proměnných na jejich výchozí hodnoty.
To by me zajimalo jak. Pokud budu inicializovat promenou a a budu brat prokmenou treba z GET tak ji vzdycky podstrcim i kdyz budu mít tu promenou inicializovanou.. Tak k cemu to je dobry?
12.3.2011 00:39 l4m4
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Když budeš brát hodnotu z GET a v tom bodě ji validovat, tak to není žádné podstrčení.

Když napíšeš do kódu $foo, přičemž foo normálně není v requestu, a budeš předpokládat, že pokud je ve foo nějaká hodnota, tak jsi ji inicializoval ty, tak to s register_globals pravda není, což je právě to podstrčení.

Toto je tam samozřejmě popsáno, akorát ses to neobtěžoval číst, takže ti to někdo musí napsat sem, uvidíme, zda to přečteš zde...
12.3.2011 00:25 nelson | skóre: 17 | blog: jakesi_cosi
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Rekneme si příklad:
1.)
register_globals = On
echo $promenna;
Podstrcis
2.)
register_globals = Off
echo $_SESSION["promenna"];
Nepodstrcis
12.3.2011 00:38 Doležal
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Tak ze kdyz mam

register_globals = On echo $promenna; Podstrcis

a kdyz mam

register_globals = Off echo $promenna; NEPodstrcim ??

btw co se vubec mysli tim podstrcenim? Nemuzete dat nekdo priklad ja kto muze podstrcit? pochopim toto /index.php?id=ahoj ze utocnik zmeni na /index.php?id=nazdar a je jedno jestli je register_globals = On nebo Off
12.3.2011 10:24 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
btw co se vubec mysli tim podstrcenim? Nemuzete dat nekdo priklad ja kto muze podstrcit? pochopim toto /index.php?id=ahoj ze utocnik zmeni na /index.php?id=nazdar a je jedno jestli je register_globals = On nebo Off
Rozdíl je v tom, že při globals=on budeš mít nastavenou proměnnou $id a bude v ní hodnota podle toho URL. Pokud někde pracuješ s $id, bez toho, že si jám inicializuješ nějakou hodnotou a spoléhaš na to, že je implicitně "prázdná", tak můžeš narazit.
Překladač ti nikdy neřekne: "budeme kamarádi"
12.3.2011 16:30 Doležal
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Rozdíl je v tom, že při globals=on budeš mít nastavenou proměnnou $id a bude v ní hodnota podle toho URL. Pokud někde pracuješ s $id, bez toho, že si jám inicializuješ nějakou hodnotou a spoléhaš na to, že je implicitně "prázdná", tak můžeš narazit.
a kdyz budu mit globals=off tak co? kdyz zadam /index.php?id=nazdar tak v $id bude co?

diky
Jendа avatar 12.3.2011 16:37 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
kdyz zadam /index.php?id=nazdar tak v $id bude co?
Nic, a podle mě to hodí E_NOTICE, že je proměnná neinicializovaná.
12.3.2011 00:28 Sten
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Zkuste si přečíst i ten text, ne jen ty obrázky:
Jde o specifický útok pro jazyk PHP, který využívá bezpečnostní díry […], vzniklé při použití direktivy register_globals.
Nejlepší obranou je […] direktivu register_globals úplně vypnout
12.3.2011 11:35 chrono
Rozbalit Rozbalit vše Re: PHP - Podstrčení proměnné
Ak sa používajú nejaké premenné, treba ich nastaviť na nejakú hodnotu a až potom používať (tak sa nemôže stať, že pri povolenom register_globals v tých premenných bude to, čo tam byť nemá). Čiže na začiatku $auth = 0; a potom prípadné testy, ktoré do tej premennej dajú niečo iné.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.