Firefox bol "reverzné inžinierstvo" mnoho funkcií Internet Explorer odvážil k uvoľneniu minulosti špecifikácie W3C - vrátane už spomínané oncopy / oncut / onpaste udalosti. Veľmi špeciálne Jednou z nich je zavedenie showModalDialog () . Predstavte si, že túto funkciu bude ako varovanie - ale len plnené ľubovoľný HTML pomocou URL, dataURI alebo javascript: URI.
- <html>
- <head>
- <script>
- ( ) { onfocus = function () (
- ; name = 'javascript: s (toto) s (dokument) write (cookie)';
- showModalDialog (
- meno,
- null,
- 'Nezdobené: Nie, dialogWidth: 4000%, dialogHeight: 2000%, scroll: 0, stav: 0, zmenu veľkosti: 0, okraj: potopených'
- );
- ; onfocus = null;
- )
- </ Script>
- </ Head>
- <body>
- </ Body>
- </ Html>
as triggering event. Zaujímavé je na jednej strane, že je možné obísť pop-up blokátory v posledných prehliadači správy voľným výberom window.onfocus ako spúšťací udalosť. Firefox 3 ukazuje, upozornenie na pôvodnú názor, že pop-up bola zablokovaná - ale spôsobuje, že modálne okno rovnako. seems to be considered as an event that has to be triggered by user interaction so the pop up blocker lets it pass – like with onclick or ondblclick . Ak je spustené včas aj outruns window.onload. Onfocus sa zdá byť považovaná za udalosť, ktorá má byť spustená do interakcie s užívateľom, takže pop up okien nechá ju prejsť - rovnako ako s onclick alebo ondblclick. fires as soon as the window's document is starting to load. A nie na to zabudnúť - onfocus na okno ohňa, akonáhle okna dokumentu sa začína zaťaženie.
Hlavným problémom je skutočnosť, že showModalDialog () metóda je buď členom okna a možno ich parametrizovať. Je teda možné nechať prvok GUI pop-up, ktoré by mohli užívateľovi dojem, že je to prehliadač stupňa sám. Stačí pridať najbežnejšie prehliadača tlačidiel image máp - v závislosti na použitom užívateľského agenta, aby okno správne rozmery a umiestnenie, a väčšina užívateľov bude patriť za to.
Okrem toho je dialóg splodil ruší všetky spustenie kódu sa deje v čase medzi trenie a okamihu, kedy modálne je opäť uzavrieť. Prehliadače môžu mať prístup k pôvod okná objektu, ako aj metódy, ako dump () .
Záver
ShowModalDialog () je jedným z viac či menej k ničomu a štandard agnostik technik, ktorý je predurčený pre lov aj bez reálneho sveta použitia pre väčšinu, ak nie všetky aplikácie. Bezpečnostné vedomý vývojári chcieť, aby sa ubezpečil prepísaním touto metódou, že XSS na ich platforme má menší vplyv, než je nutné. Vďaka flexibilite JavaScript je to jednoduchšie, ako očakávate - stačí nastaviť showModalDialog = null na najbližšie miesto v vašom DOM, že je možné - najdokonalejšie v mieste, kde vstup užívateľa nie je being očakávať skôr. Safari a Opera sú mimochodom nemá vplyv - jednoducho ignorovať volanie metódy alebo hodiť chybu, pretože to nie je vykonaná.
Vydalo <malicious> </ značkovacia>
based on 1 rating

























































