Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

Flash same-origin probléma

2009.11.14. 15:04 | buherator | 6 komment

Kivételesen korrekt cikket jelentetett meg az Index a Mike Murray által felfedezett, ActonScripteken keresztül kihasználható problémáról. Azért néhány pontosítást közölnék én is:

Az ActionScriptek működése a JavaScript-ekéhez hasonlóan korlátozott: csak ahhoz a domain-hoz tartozó erőforrásokhoz képesek hozzáférni, amelyen futtatásra kerültek, viszont tetszőleges domain felé intézhetnek kéréseket. A Flash objektumokba ágyazott ActionScriptek viszont a JavaScript-ekkel ellentétben mindig lefutnak mikor megjelenítik őket, nincs szükség direkt beágyazásra a HTML kódba. Így egy rosszul megírt fájlfeltöltő szkripten keresztül például feltolhatunk a szerverre egy .jpg kiterjesztésű fájlt, amiben valójában egy olyan ActionScript rejtőzik, amely a fájl megnyitásakor lelopja pl. az aktuális felhasználó munkamenet-azonosítóját - mivel ugyebár a feltöltött szkript már azon a domainen fut, ahová a felhasználó bejelentkezett. 

De ha feltesszük, hogy az okos programozó nem csak kiterjesztés-, hanem formátumellenőrzést is végez a feltöltött fájlokon, még mindig nem vagyunk biztonságban: a ZIP alapú fájlformátumokhoz (pl. ZIP, MS Open XML, XPI, JAR) ugyanis gond nélkül hozzá lehet csapni más típusú adatokat, ezzel nem sértjük meg a formátumspecifikációt.  

A problémára nyilvánvaló elkerülő megoldás az lehet, ha a feltöltött állományokat külön domainről szolgáljuk ki, másrészt megfelelő (erőforrásigényes) formátumellenőrzéssel megtilthatjuk a Flash tartalom feltöltését is. Kliens oldalon a Flash tartalmak fehérlistás szűrése lehet megoldás, de ez a megközelítés eddig sem volt túl népszerű. Az Adobe ugyan elismerte a problémát, de mivel a megoldás a teljes same-origin policy újratervezését igényelné, a változtatások pedig a már elkészült, legitim megoldásokat is veszélyeztetnék, nem valószínű, hogy univerzális orvoslat születik a közeljövőben.

Címkék: flash adobe same origin policy

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

RobbeR 2009.11.14. 20:47:11

"A Flash objektumokba ágyazott ActionScriptek viszont a JavaScript-ekkel ellentétben mindig lefutnak mikor megjelenítik őket"

Ezt nem igazán értem. A JS nem fut le, mikor megjelenítik? onload?

RobbeR 2009.11.14. 20:50:45

Vagy úgy érted, hogy a flesshez nem szükséges böngésző környezet?

buherator · http://buhera.blog.hu 2009.11.15. 08:39:11

@RobbeR: Pl. ha megnyitod az example.com/evil.js-t, nem történik semmi (látod a js forrást), ha viszont az example.com/evil.swf-t nyitod meg, elkezd futni az ActionScript (ha nem tiltottad le mondjuk NoScript-ből). Ha pl. egy ZIP fájlba Content-Type headert ágyazol, akkor a kiterjesztés sem lesz árulkodó, a böngésző mégis át fogja adni a kódot a Flash Playernek. Remélem így érthetőbb!

HoaxSpecialist · http://hacker.blog.hu 2009.11.15. 09:28:23

Ezt sosem ertettem, altalaban phpval kezelik a filefeltolto scripteket, meta validation kiszurne az esetek 84%ban a tamadasokat. Ennyire bonyolult lenne?

buherator · http://buhera.blog.hu 2009.11.15. 09:38:06

@HoaxSpecialist: Egyrész sok esetben meg vannak róla győződve az emberek, hogy filetípus==kiterjesztés (hála nektek, DOS, Windows!), másrészt ahogy írtam, egy teljesen valid ZIP fájl is tartalmazhat veszélyes elemeket. Egyébként meta validation alatt mit értesz? :)

RobbeR 2009.11.15. 16:52:27

Szerintem mime-type ellenőrzésre gondol.