Apache (DELSI)

oldfrog.linux na volny.cz oldfrog.linux na volny.cz
Středa Říjen 27 12:29:17 CEST 2004


Michal Kubecek wrote:

>On Wed, Oct 27, 2004 at 10:54:01AM +0200, oldfrog.linux na volny.cz wrote:
>  
>
>>Uvedu podobne tri priklady. Nasledujici kod
>>
>>   if ($authorized) {
>>      include "/highly/sensitive/data.php";
>>   }
>>
>>obsahuje stejnou chybu jako kod
>>
>>   if ($_GET['authorized']) {
>>      include "/highly/sensitive/data.php";
>>   }
>>
>>Chyba spociva v tom, ze se program rozhoduje na zaklade hodnoty, kterou muze
>>pripadne rucne zadat utocnik. V druhem prikladu muze hodnotu zadat utocnik 
>>vzdy
>>    
>>
>Problém je ale v tom, že to druhé nikdo nenapíše, protože je z toho na
>první pohled vidět, že se jedná o hodnotu od uživatele. To první už jsem
>několikrát viděl. 
>  
>
Ano, oba priklady jsou stejne hruzyplne a prave lezi-li takto vedle sebe
vynikne i obludnost toho prvniho - je-li osamocen, neni chyba tak napadna.

>Přirovnal bych to k různým technikám ochrany proti buffer overflow, ať
>už příznak nespustitelnosti u AMD64 nebo různé chytré třídy, které
>hlídají přetečení mezí. Také by se dalo říci, že jsou všechny zbytečné,
>protože je-li program napsán správně, žádný buffer overflow nemůže
>vzniknout. Praxe nás ale opakovaně přesvědčuje, že chyby se dělají.
>							  Michal Kubeček
>
Zrejme systemovym resenim by bylo zavedeni uplne nezavisleho kanalu,
ve kterem by si skript mohl predavat a udrzovat svuj stav. Je to porad stale
tataz snaha realizovat perzistenci v ramci nestavoveho webu.

-- 
------------------------------
Ondrej Nemecek alias 'OldFrog'

tel (domu):     241766035
tel (prace):    222090711
tel (mobil):    775046246
icq:            250163477
------------------------------





Další informace o konferenci Linux