Bezpečný uploud obrázků?

HackForum

Bezpečný uploud obrázků?#
Jak mám ošetřit uploud obrázku, aby byl OPRAVDU bezpečný proti všemu?:-)
Díky za odpovědi
(odpovědět)
beran | 89.103.4.*29.12.2007 22:45
re: Bezpečný uploud obrázků?#
smazat :D

----------
Pravá láska je, když si zapamatuješ její IP, abys obešel zpoždění DNS :)
(odpovědět)
Pr00y4m | E-mail | Website30.12.2007 1:58
re: Bezpečný uploud obrázků?#
to je tak obecny dotaz, ze te s nim kazdy posle do pryc. zacni ctenim dokumentace a az ji celou prectes, tak zacni znova. a celou dobu u toho programuj. postupne se dohrabes k tomu, ze budes psat takovy kod, o kterem budes presne vedet co a jak dela a budes schopen ho napsat tak, aby delal jen to co ma a nic navic.
(odpovědět)
prc | 213.211.51.*30.12.2007 1:59
re: Bezpečný uploud obrázků?#
mohl jsem ocekavat podobnou odpoved. Chtel jsem znat vsechny mozne uskali, ktere by mohli vest k uploudu nebezpecneho skriptu.

Např. nulový znak na konci, jak ho osetrit, DUVERYHODNA kontrola souboru, nebo jsem jiz davno videl, ze IE dokonce dovede z PNG precist javascript..coz bylo zarazejici..:-)
(odpovědět)
beran | 89.103.4.*30.12.2007 11:21
re: Bezpečný uploud obrázků?#
Pokud jsi ocekaval podobnou odpoved, proc jsi se ptal a radeji si to nekde nenasel?
Obecne a zjednodusene plati, ze by jsi mel povolit upload jen souboru, se kterymi bude webserver nakladat jako s obrazky. Osobne bych to extremne nehrotil, neplytval zdroji na zbytecnou kontrolu a povolil upload _jenom_ pro soubory se vhodnou priponou. Nezabranis sice uploadu treba PHP kodu, ale pri vhodne konfiguraci (a jeho nebugovem kodu) serveru se ten kod _nemuze_ provest. Samzorejme si musis vhodne osetrit, jestli se ti soubor ulozi opravdu tam kam chces a pod nazvem, ktery TY chces (tzn. dat si pozor napr na nazev "../../../porno.jpg") Tot vse k tomu uploadu.

Dalsi otazkou je to, co se s temi obrazky bude dal.. Pokud je chces zpracovavat, tak samozrejme na vstupu aplikace budes kontrolovat, jestli dostavas data, se kterymi se aplikace vyporada a umi s nima zachazet. Napriklad podle hlavicek detekovat, zda se jedna opravdu o GIF, nebo neco jineho s priponou .gif

"IE dokonce dovede z PNG precist javascript" to uz IMHO neni tvoje starost. To je starost uzivatele a jeho prohlizece. Tzn. nezatezovat se tim a prenest odpovednost na jine ;D

(odpovědět)
HC | 90.183.61.*30.12.2007 16:21
re: Bezpečný uploud obrázků?#
... no poyor na to, pokud to budes kontrolovat jen dle koncovek, tak muzes hrube narazit, neni totiz az takovy problem udelat chybu, diky ktere se ke zdroji obrazku dostanes - nebo pokud se ti budou ukazovat direct primo ze zdroje uploadu - tak neni problem tam hodit php skript s koncovkou obrazku ze ? Co to pro jistotu jeste kontrolovat dle MIME :] - to si myslim je jedna ze zakladnich kontrol.. koncovky jsou nic..

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail30.12.2007 21:33
re: Bezpečný uploud obrázků?#
Muzes mi, prosim, vysvetlit, co jsi chtel timto rici: "udelat chybu, diky ktere se ke zdroji obrazku dostanes - nebo pokud se ti budou ukazovat direct primo ze zdroje uploadu"
Precetl jsem si to 4x, ale porad nechapu.
(odpovědět)
HC | 90.183.61.*30.12.2007 22:58
re: Bezpečný uploud obrázků?#
No, podle mě by to šlo taky obejít, když tam bude hlavička nějakého obrázkového formátu a za ní bude nějaký tvůj kód, tak mime bude pořád obrázkového formátu. Jinak jsem tě moc nepochopil, co si tím chtěl říct, i to, že koncovky jsou na nic :-|
(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797631.12.2007 14:11
re: Bezpečný uploud obrázků?#
ale když tam bude hlavička obrázkového formátu, bude se ten soubor zobrazovat jako obrázek, nebude se interpretovat jako nějaký kod ve scriptovacím jazyce.

----------
Get enlightened!
(odpovědět)
mr.Crow | E-mail | Website31.12.2007 15:56
re: Bezpečný uploud obrázků?#
No, kdyby obsah toho souboru byl takový:
[JPEG header]<?php [phpcode]?>

tak bude mime image/jpeg, kdyz to bude mit ale priponu .php a zavolas ten script, tak se ti to logicky vykoná. Takže rozhodující je především přípona.
(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797631.12.2007 17:02
re: Bezpečný uploud obrázků?#
Nejsem si ted jistý jestli jsem nenapsal blbost :-|
(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797631.12.2007 17:05
re: Bezpečný uploud obrázků?#
Nenapsal. Napr. u Apache se MIME typ souboru nejdrive urcuje podle pripony, pokud to selze, tak pomoci modulu "mime_magic", pokud ani to neprojde, tak podle DefaultType...
Takze jak jsi rekl, PHP kod se v souboru s priponou obrazku u _dobre_ nakonfigurovane webserveru nemuze spustit ;]
Takze ta kontrola uploadu podle pripony je IMHO dostacujici ;]

(odpovědět)
HC | 90.183.61.*31.12.2007 17:24
re: Bezpečný uploud obrázků?#
ja bych se rovnez priklonil spise ke kontrole na zaklade pripon, nebot MIME se da snadno zfalsovat, pripona tezko.
ve slozce zakaz pomoci konfiguracniho souboru .htaccess interpretaci php kodu, uziti nuloveho bytu zamezis zapnutim direktivy magic_quotes_gpc a hlavne si osetri, aby se (v pripade, ze nekde vyuzivas fci include nebo ji podobne fce) nedaly includovat soubory z te slozky, kam nahravas obrazky.
ps: zakaz vsechny pripony a povol jen vybrane, ne naopak, jak to nekteri "programatori" radi delaji =)
(odpovědět)
Emkei | E-mail | Website | PGP31.12.2007 18:13
re: Bezpečný uploud obrázků?#
magic_quotes_gpc nemám rád - potom máš starosti s uvozovkama, obzvláště když děláš-li nějaký rs, kde nevíš jestli tato direktivita bude zapnutá nebo ne. Možná by se někomu hodila tato fce:

function realstr($text)
{
return((ini_get("magic_quotes_gpc") == 1) ? stripslashes($text) : $text);
}

(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797631.12.2007 20:43

Zpět
 
 
 

 
BBCode