Kontrola MIME typu

HackForum

Kontrola MIME typu#
Mam dotaz jestli je bezpency kontrolovat typ uploadovaneho souboru pomoci MIME typu. Napadlo me, ze kdyby byla aplikace ktera se tvari jako prohlizec a odesilala na server soubor treba .php a jako MIMe typ by odeslala treba image/jpeg jak by to dopadlo. Nemáte s tim nekdo nejake zkusenosti? dik za jakykoliv info.
(odpovědět)
mon | E-mail26.6.2008 10:24
re: Kontrola MIME typu#
Jedina kontrola je dle mime typu, koncovka je samozrejme k nicemu..

Jak odesilala? Vzdyt MIME typ si zjistuje sam server az po uploadnutem souboru ;-) a jak se souborem vynalozi se rozhoduje server (pokud je to application/x-php .. tak ho zpracuje, pokud ne, tak ho nabidne ke stazeni klientovi a ten pak uz sam rozhodne, jestli ho v necem prehraje apod.. ;)

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail26.6.2008 10:57
re: Kontrola MIME typu#
Anonymous_: Mime type odesílá i klient a je jen otázkou interpretace serveru, zda vezme v úvahu mime od klienta nebo si ho zjistí sám podle svých tabulek. První varianta je samozřejmě nebezpečná, protože nad ní nemáme kontrolu.
(odpovědět)
nejmenuje | E-mail | Website | ICQ 26000797626.6.2008 12:33
re: Kontrola MIME typu#
kontrolovat pouze MIME typ je nebezpecne, nebot se da velice snadno zfalsovat (a server mu veri). je to vhodne pouze jako doplneni k jine kontrole, ale jak uz jsem psal nekolikrat, nejlepsi je nevymyslet zadna komplikovana reseni, ale jednoduse kontrolovat pomoci whitelistingu povolene pripony, nic vic. tebou navrhovane reseni by bylo derave a utocnik by je snadno prolomil...
(odpovědět)
Emkei | E-mail | Website | PGP26.6.2008 12:45
re: Kontrola MIME typu#
Heh, kontrola dle koncovky je uplne k nicemu..

.. neni problem mit php skript treba s koncovkou .php.neco .. ;) a pokud uz faknes MIME, tak faknout koncovkou je jeste jednodussi :)

^^ nebo jsi to myslel jinak?

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail26.6.2008 12:56
re: Kontrola MIME typu#
myslel jsem to tak, jak jsem to napsal a jak jsi to pochopil.
jen mi rekni, jak ten soubor script.php.neco interpretujes? nijak. kdyz budes mit upload zabezpeceny pomoci MIME typu, tak ti ho nabouram behem nekolika minut, pokud ale budes kontrolovat koncovky na whitelistu, tezko ti ho mohu kompromitovat pomoci uploadu.
(odpovědět)
Emkei | E-mail | Website | PGP26.6.2008 13:35
re: Kontrola MIME typu#
dejme tomu, ze serveru odeslu misto MIME typ application/x-php napr. image/jpeg (ktery prijima), koncovku dame .php.neco - kontroluje to samozrejme posledni koncovku za teckou, tudiz neco, vyrazuje to koncovku php, tudiz ok..

Pak server rozeznava skripty dle MIME typu, na serveru je tedy application/x-php - ty jsi mu jen odeslal fake udaj, avsak prave MIME type se stale rozeznava jako appliacation/x-php, tudiz server zinterpretuje skript balast.php.neco, jako php skript ;)

Vyzkousej si to.. Napr. ja jsem vzdy hloupe delal to, ze za kazdy .php soubor upload skript doplnoval nahodnou koncovku, takze vysledny soubor vypadal napr. foo.php.bar - i takovyto soubor se ovsem interpretoval jako php skript (za predpokladu, ze to php skript byl ;) ).. to same s obrazek.. neco.jpg.bar - prohlizec normalne zobrazi..

^^ asi kecam nesmysly a nijak to nesouvisi s tim co rikas - pochybuji, ze se mylis, ale chci tim jen rict, ze koncovky nehrajou roli..

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail26.6.2008 13:58
re: Kontrola MIME typu#
Tak tu mame tvrzeni proti tvrzeni, taky me napadlo ze pokud budu kontrolovat jen MIME tak se necha lehce podvrhnout a uploadovat .php skript. Zarazi me ale ta moznost interpretace skriptu neco.php.neco, server by prece mel interpretovat jen soubory s povolenymi priponami jako .php .php5 apod. ktery jsou vypsany v konfiguraci serveru a nejakej MIME typ ho prece nezajima ne? nebo se pletu?
(odpovědět)
mon | E-mail26.6.2008 14:43
re: Kontrola MIME typu#
konkretne na php5.cz mi to takto funguje.. Zkusim jinde..

=> tak jde to i na iccku.. takze myslim, ze je to globalni ;) (resp. ze to overuje dle MIME..)

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail26.6.2008 14:49
re: Kontrola MIME typu#
neni to tvrzeni proti tvrzeni, oba mame pravdu, jen se navzajem nechapeme =)
to, co popisuje Anonymous_, je samozrejme pravda. pokud ma soubor priponu, kterou server nezna, automaticky ji ignoruje a podiva se na tu predchozi atd.
v takovem pripade tedy apache script.php.bar samozrejme interpretuje, protoze priponu bar nezna. pokud ale budeme kontrolovat pripony pomoci whitelistingu, jak zduraznuji v kazdem svem prispevku, tak takovy pripad nikdy nenastane, nebot jen blazen by si vlozil na whitelist neznamou priponu. bude tedy mozne uploudovat pouze soubory, ktere server zna a nikdy se tedy nepodiva na predchozi priponu.
(odpovědět)
Emkei | E-mail | Website | PGP26.6.2008 14:59
re: Kontrola MIME typu#
super, diky..

jasny whitelist (jsem slepej a tupej, sorry) :)

----------
Cow power by Gentoo...
(odpovědět)
Anonymous_ | E-mail26.6.2008 15:05
re: Kontrola MIME typu#
nejsi, naopak. konecne po case zase jeden ze zajimavejsich threadu tady...
(odpovědět)
Emkei | E-mail | Website | PGP26.6.2008 15:26
re: Kontrola MIME typu#
dik za info, presne tohle jsem potreboval vedet. Pisu bakalarku na téma Bezpecnostni aspekty internetovejch aplikaci. Az to dopisu tak to sem postnu at maj lamky co cist :-)
(odpovědět)
mon | E-mail26.6.2008 15:03
re: Kontrola MIME typu#
na tohle tema by se dala vydat kniha =) gl
kdyz uz jsme u toho uploadu, posledni dobou se casto sektavam s pripady, kdy je upload zabezpecen tim zpusobem, ze se jednoduse vypne interpretace dynamickych scriptu, pak je totiz mozne nechat uzivatele nahrat na server cokoliv, aniz by se musel majitel neceho obavat. na co ale programatori takovych uploadu zapominaji je fakt, ze hacker tak muze nahrat i konfiguracni soubor .htaccess a interpretaci dynamickych scriptu si tak v danem adresari opet povolit...
(odpovědět)
Emkei | E-mail | Website | PGP26.6.2008 15:24
re: Kontrola MIME typu#
lol, tak to je moc hezká ukázka... jak se tak dostávám do problematiky hlouběji začínám mít pocit že napsat rozsáhlej web bez zranitelnýho místa není vůbec žádná srana... :-))
(odpovědět)
mon | E-mail26.6.2008 15:28

Zpět
 
 
 

 
BBCode