Böngésző hibák nagy tömegben

Címkék

Michal Zalewski egy igen fontos levelet külött a SecurityFocus BugTraq levistájára. Készített egy egyszerű cgi programot, ami szándékosan hibás html kódokat generál.

Az eredmények meglepőek és aggasztóak: csak az IE-t nem sikerült lefagyasztania vele, minden más böngészőt igen! Állítása szerint a hibák elég változatosak, puffer túlcsordulástól kezdve memória-szivárgásig a legtöbb fajta tipikus sebezhetőségre talált példát. Ezen hibák egy része elképzelhető, hogy ártó szándékkal is kihasználható.Készített néhány tesztoldalt különféle böngészők hibáinak demonstrálására.

További hibás eseteket - saját felelősségére - bárki generálhat a közzétett eszközzel, csupán egy apace cgi-bin könyvtárába kell elhelyezni, és a böngészőt a megfelelő címre irányítani.

A hibás oldalakra refresh van beállítva, tehát amíg a böngésző működőképes, addig automatikusan kéri az újabb tesztesetet. A hibás esetet az apache logból kell előkeresni; az url változó alapján lehet a későbbiekben reprodukálni. Részletek megtalálhatók a mellékelt README-ben.

Slashdot hír itt,

A levél itt olvasható.

Az tesztelő program itt tölthető le.

Hozzászólások

eleg durva.

a mozilla_die1 es mozilla_die2 siman kirnyirta a win2k-n futo firefox 1.0Pre-t.

a tobbi nem hatotta meg.

mogorva

Tulsagosan nem aggodom, ugy is ki lesznek javitva meg a heten. Viszont nagyon tetszik, hogy "szezonja" van az automatikus bolondbiztossagot tesztelo programoknak.

Kellene meg jonehany.

A Linux Test Projektben [ltp.sourceforge.net] osszeszedtek vagy 2000-et. De azok csak kernel tesztelo progik.

En altalaban kulonbseget szoktam tenni a reliability fix es a security fix kozott. A ketto nem ugyanaz. Most nem neztem meg, hogy milyen hibak ezek, de nyilvan nem mindegy, hogy egy hiba azt produkalja, hogy szarul megirt oldalakon elcrash-el a bongeszo, vagy olyan hiba van benne, hogy lelopjak a merevlemezem tartalmat. Az elso esetben ujrainditom a bongeszot, es a kesz. A masodik esetben nyilvan nagyobb a problema.

Én a magam részéről annak sem örülök, mikor a 8-10 megnyitott tab elszáll ;)

Egyébként engem az lepett meg a legjobban, amikor megnéztem a html file tartalmát. Néhány byte-os kis vacak ami gyakorlatilag sima szintaktikai hiba, és durván elszáll tőle a firefoxom. Nagyon hasznos dolog, hogy kiderült ez a hiba, mert elég súlyos szerintem.

Engem az idegesít, mikor elkezdek írni 10 e-mailt és valamelyik weblapon megdöglik a mozilla. Mivel jó ideig azt használtam, eltűnt vele a 10 e-mailem is.

Azóta firefoxot használok, ami ugyanúgy megdöglik pár nap futás és intenzív weblap nézegetés (nem pornó :) után, de legalább nem viszi magával a mozillát, a 10 e-mailemmel...

Az ilyen programokat en csak tamogatni tudom, jol dokumentalt (...reprodukalhato) testcase-eket lehet veluk gyartani. Egyebkent kivancsi lennek, hogy melyik bongeszot milyen tesztelesnek vetik ala (a bug reportokon kivul)?

Meg azert arra is kivancsi lennek, hogy nem sikerult az IE-t elkuldeni... valaki probalkozott esetleg a progival?

A programozás órákon azt tanítják meg elsőként a diákoknak, hogy egy program ha valamilyen külső adattal dolgozik, pl ha felhasználó gépel be valamit, akkor miden eshetőségre fel kell készíteni a programot. Tipikusan ugye amikor számot kell bekérni és beirunk szöveget. Ha integerbe olvasunk be....

Ez szerintem éppen egy ilyen eset (nem szabványos bemenő adat) csak nyilván nem egy 'hello world' programban, hanem kicsit nagyobban.

UHU 1.1.1, Mozilla 1.6

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040229

A 3. moz-die-t megúszta.

Nos, amit idáig tapasztaltam, az az, hogy az IE szépen átírja a kódot. Nem tudtam még rájönni, hogy hogy értelmezi a kódot, de mikor elindítottam a debuggerét, s megkértem, hogy a natív kódot nyissa meg böngészőben, közölte velem, hogy mentsem el elöbb. Megnéztem az újat, s szépen lezárta a nyitott szakaszokat.

Úgy tűnik az IE elég sajátosan értelmez egy kódot, mert úgy néz ki szépen kérés nélkül átírja, ezért is fogad el rossz kódot is. (alapvetően kiegészíti azokkal az infókkal, ami szükséges neki, hogy megnyiljon egy weblap. Pont ezt lehet a legjobban kihasználni.)

Érdekes jelenség volt viszont, hogy míg IE volt alapvető böngészőnek beállítva, mégis a mozilla_die html fájlt egyből Firefoxban akarta megnyitni, míg az összes többi fájlt megnyitotta szépen a saját IE-jében. (Ezt komolyan furcsálom, főképp, hogy a mozilla_die.html bár Firefoxban nyílt meg, mégse az én beállításaimat használta, hanem a standardnézet jött be...)

Tesztgép egy NetVista volt, Windows 2000 Prof, IE 6.0 patchelve mindennel, Firefox egy 1.0 RC.

ezzel a naiv felhasznalok tipikus hibajat koveted el ;-). egy program nem azert szall el, mert valaki eppen megatkozta, hanem mert valamilyen hibas memoria eleresi kiserletet tett. minden ilyen programhiba potencialisan tavoli kodvegrehajtast jelent, legalabbis addig, amig valaki az ellenkezojet be nem bizonyitja (vagyis a 'security conscious' programozo igy all hozza, es nem ugy, hogy 'francba, mar megint elszallt, majd kijavitom, ha a QA eszreveszi'). abbol, hogy az adott kiserletben a mozilla elszallt es nem csinalt valami 'hasznosabbat', meg nem kovetkezik, hogy a bemeneti html megfelelo modositasaval mas nem erheto el. pont ez az, amit a hackerek csinalnak.

akkor ezt lehet beküldeni az 500 USD listára? :)

Jok ezek a tesztek, kellenek is, csak kar, hogy a csavo azt irja, hogy ie-t nem sikerult kiakasztania, hat pedig nem is kell nagyon mas hozza, attol mert ir 1 valamit, es nem tudja mitol doglik a legy ...

Itt van par IE dogleszto is:

http://gear.hu/public_html/test/browsercrash/

kapasbol 4 ami ami megdogleszti, de mar rohadt reg ota:)

Ennyit a szuper Firefoxról és a ***** IE-ről :P

el vagyok szomorodva :(

operazom, es bizony a 7.54-es a cikkben levo tesztoldaltol 1 masodpercen belul maga ala pisilt

Nemtudom miért nem említette még senki, de azért lényegi különbség van firefox és IE között... a firefox még csak most irtja a bugokat készülve 1.0-ás releasere ( mint itt a grafikonon látszik [forums.mozillazine.org]), míg az IE már 4 éve csak hibajavítva van(nem igazán sikeresen).