Kjo është gjithashtu një kërkesë në javascript. JavaScript - Metodat paralajmëruese, të shpejta dhe të konfirmuara. Sulmi prapanicë me XSS jo të vlefshme

Në tsіy statty mi vivchimo tre ts methodkavih metodë, dhe vetë metodat alarm (), konfirmo () dhe shpejt ()... Erë e keqe të gjithëve emërtimet për ndërveprimin me koristuvach.

Të tre metodat janë të vendosura në dritare (dritarja e shfletuesit). Mund ta nuhas kështu: window.method_name (); Ale, JavaScript na lejon të kundërshtojmë dritaren dhe të shkruajmë, dhe të shkruajmë thjesht duke e emëruar metodën.

Le të përdorim metodën e alarmit (). Metoda daneze duhet të tregohet siç specifikohet në fund të shfletuesit. Më në fund do të shfaqet në krye të të gjitha anëve, dhe përderisa nuk shtypni butonin OK, nuk mbylleni.

Për demonstrim, vivedemo do të lidhet me metodën e alarmit shtesë ()

Var today_is = "e hënë"; vigjilent ("Sot" + sot_është);


Në metodat e mesme, ne mund të përdorim një rresht, vetëm pa etiketë html iv Erë e keqe këtu nuk është obroblyayutsya, por jak vivodatsya.

Nëse një rresht, nëse doni ta bëni atë, nëse doni të kaloni në një rresht të ri, atëherë këtu është etiketa html
jo spratsyuє. Këtu ju duhet të zgjidhni karakterin "\ n".

Alert ("Looooooooong \ nStringggggggg");


Metoda daneze është shpesh fitimtare për shaka një falje në kod.

Procesi i përpunimit të kodit nga lart poshtë, për të kapur faljen, thjesht shkruani metodën e alarmit () në zonën në pritje, nëse falja gjendet. Më pëlqen alert () spratsyuvav, do të thotë deri në një rresht, nuk ka drejtshkrime, nuk ka mëshirë.

Dal, është e nevojshme ta transferoni atë një rresht ose më poshtë. Zberigaєmo zmіni, unë e njoh faqen e re në shfletues, dhe pyes veten, nëse është vigjilent () spratsuvav, që do të thotë, falje për rreshtin, de vin është, nuk është, në shnshomu vypadku, nëse nuk është spratsyuvav, falja është me radhë vishche tієї, de vin menjëherë perebuvaє... Një aks i tillë i gradës mund të njihet si falje në kod.

konfirmo () metodën

E gjithë metoda është fitimtare për konfirmimin e informacionit, për ushqimin. Appear Shfaqen vetëm dy opsione, ajo (OK) nuk është (Anulo / Skasuvati). Nëse përgjigja është e saktë, atëherë metoda rrotullohet në e vërtetë (e vërtetë), dhe metoda është që të rrotullohet kutia (e rreme).

Për prapanicën, vivedemo në fund të metodës shtesë të konfirmimit (), koristuvach të çaktivizuar "A doni vërtet të kapërceni anën?". Nëse e thoni kështu, atëherë përmes metodës alarm () do të shihni gjithashtu mesazhin "Koristuvach dëshiron të largohet nga ana", dhe herën tjetër do të shihni "Koristuvach NUK dëshiron të largohet nga ana".

Var user_answer = konfirmo ("A dëshiron vërtet të rishkruash faqen?"); nëse (user_answer) alarm ("Koristuvach dëshiron të largohet nga faqja"); tjetër alarm ("Koristuvach NUK dëshiron \ n të largohet nga ana");


Pra boshti i rangut është metoda confirm (). Win mund të vikoristovuvatisya në vypadki të ndryshme. Për shembull, para se të shihej nga vendi, u mor për të ushqyer një koristuvach, i cili ishte fajtor për vajzën e tij. Por para se të ndryshoni formën, gjithashtu mund të ushqeni corystuvach "A i mbani mend gjithçka në rregull?"

Metoda e shpejtë ()

Metoda e parë e ndalimit, e cila është fakultative, është metoda e shpejtë (). Metoda daneze është fitimtare, por ka dy metoda më poshtë. Wien ju lejon të korrigjoni informacionin në lidhje me koristuvach, pasi e futni atë në fushën e tekstit.

Si rezultat, metoda e shpejtë () do të rrotullohet ose do të fut një rresht, nëse shtyp butonin OK, ose null, nëse shtyp butonin OK.

Ky është një parametër, në mënyrë që të gjitha harqet e mesme të një metode të caktuar të mund të shkruhen me radhë, ose një furnizim, nëse e dini informacionin, duhet ta futni atë.

Për shembull, ne i kërkojmë koristuvach t'i përgjigjet ushqimit "Yak të thërras?" Prezantuar me ndihmën e emrit, shfaqet në ekran pas metodës së alarmit ndihmës ().

Emri Var = kërkesë ("Yak të telefonon?"); vigjilent ("Thirru" + emri);

Zberigaєmo dhe shfaqja e lidhjes në shfletues.


Me sa duket, në fushën e tekstit me metodën e shpejtë (), mund të futni çdo informacion. Informacioni do të rrotullohet si një rresht, për të lundruar në numra të ndryshëm ose disa karaktere të veçanta.

Për prapanicën, ne i kërkojmë koristuvach të futë dy numra, atëherë mund t'i shumëzojmë ato. Do të ketë një kalkulator për numra të shumtë.

Var x = shpejtë ("Fut numrin e parë:"); var y = shpejtë ("Fut një numër tjetër:"); // Rishkrimi i numrave hyrës nga një lloj vargu në një lloj numerik x = Numri (x); y = Numri (y); dokument.shkruaj (x + " *" + y + "=" + (x * y));

Futja e numrave në rreshta, në mënyrë që rezultati i saktë të shumëzohet, ju duhet të kaloni numrin përmes funksionit Numër (), pasi ai konverton numrin nga lloji i vargut në numra normalë.

Epo, kjo është e gjitha. Ne tani dimë tre metoda: alarm (), konfirmo () і shpejtë ()... Ju mund të smilo vikoristovuvati në praktikë.

Në JavaScript, ka tre operacionet themelore, Yaki ju lejon të shkurtoni të dhënat nga koristuvach, për pjesën tjetër të përpunimit në skripte. Tse alarm, kërko і konfirmo. Pse erë e keqe është e ndenjur, pasi është vikoristovuvati dhe nuancat dhe do të dallohen shumë larg në statut.

vigjilent

Ngecur për të shfaqur një dritare modale në ekranin e shfletuesit (kjo do të thotë se asgjë nuk mund të vizatohet anash, përderisa nuk bërtet. Në prapanicën e hapur, derisa të heshtet, lini butonin OK) në dritare Me

Kur shfaqet mesazhi, mesazhi shfaqet në alarm, skripti shfaqet dhe azhurnohet kur dritarja modale është e mbyllur.

Ndonjëherë zapovnennya fushat і sulmojnë OK, në informacionin e shkrimit të shkrimit, yaku vіv koristuvach.

Sintaksa e komandës Ndonjëherë është e palosshme, më e ulët se pjesa e përparme, një shtesë për të futur tekstin e kafshës para koristuvach dhe përmbajtjen e fushës për futjen e informacionit, nëse do t'ju kërkohen sugjerimet: rezultati = E shpejtë (titulli, parazgjedhja);, de

  • titulli- në fakt, sikur koristuvachev të futet në dritaren modale. Argumenti është detyrues për zapovnenya.
  • parazgjedhje- atëherë, scho vivedetsya në terren për futjen e tekstit për ndryshimin. Isshtë gjithashtu i detyrueshëm për ruajtje, nëse nuk mund ta vendosni, atëherë mund ta sillni në falje në shfletuesit deyaky. Nëse dëshironi të lini fushën për futjen e informacionit bosh, atëherë thjesht pyesni me gradën tjetër:

    var myTest = kërkesë ("Të dhëna të reja", "" ");

i vogel prapanicë vikoristannya shpejtë:

var vit = shpejtë ( "Si e përfunduat VNZ -në?", 2008); vigjilent ("Wee vipusknik" + vit + "shkëmb!");

Zazvychay i dha një urdhër vikoristovutsya për mbledhjen e haraçeve nga koristuvachiv, pasi skenari është i nevojshëm për përparimin e robotëve të tjerë.

konfirmoj

Gjithashtu modal vіkno... Yak nuk është e lehtë të kërkosh një emër vikoristovutsya zzvychay për uzgodzhennya chogos z koristuvach.

Për këtë qëllim, është mprehur - për shkëmbimin e butonave OK dhe CANCEL, për t'i kthyer vlerat e skenarit boolean të vërteta dhe të rreme, respektivisht.

Në fund të ditës mund të mësoni me metoda ob'єkta dritare: Alert (), shpejtë () і konfirmo ().

Metoda e alarmit ()

Metoda e alarmit () e vlerave për shfaqjen e një dritareje të kujdesshme dialogu në ekran, sepse ne do ta caktojmë atë në butonin "OK". Ju mund të vikoristovuvatisya në mënyrë që të përcillni informacione të rëndësishme tek koristuvach.

dritare.alert (Parametri_1);

Metoda e alarmit () ka një parametër lidhës - tekstin e mesazhit që shfaqet në dritaren e dialogut. Metoda daneze nuk është përmbysur si rezultat i vikonannya -s së saj.

Për shembull, një vivedemo për një sit me një sulm në një dialog poperezhuvala vіkno: Shkoni në sit

Konfirmo () metodën

Metoda e konfirmimit () e vendosjes së dritares së vlerave për shfaqjen e kutisë së dialogut në ekranin e kutisë së dialogut, sepse ne do ta caktojmë atë në ekran me butonat "OK" dhe "Skasuvati". Nëse mund të kërkoni konfirmim, mund t'i kërkoni koristuvach një telefonatë për konfirmimin e kësaj dite.

var resultConfirm = konfirmo (Parametri_1);

Metoda daneze ka një parametër - të gjithë tekstin e mesazhit, siç do të tregohet në kutinë e dialogut.

Metoda confirm () në cilësinë e rezultatit (resultConfirm) të konfirmimit të vet rrotullohet në njërën nga dy vlerat:

  • e vërtetë, nëse shtypni "OK";
  • false, sikur koristuvach të shtynte "Skasuvannya" ose të mallkonte jogon.

Për shembull, vivedemo në elementin p s id = "resultConfirm" rezultatin e sulmit duke klikuar në butonin "OK" në dritaren e dialogut:

Metoda e shpejtë ()

Metoda e shpejtë () e vlerave për futjen e kutisë së dialogut në ekranin e kutisë së dialogut me një fushë teksti për futjen e të dhënave dhe përdorimin e butonave "OK" dhe "Skasuvati". Wono ka për qëllim të ushqehet me një koristuvach.

var resultPrompt = shpejtë (Parametri_1, Parametri_2);

Metoda daneze ka dy parametra:

  • herë pas here, siç do të shihet në dritaren e dialogut. Parametri danez є do të jetë detyrues dhe do të hakmerret për rastin, në të cilin "do të gjendet", pasi është fajtor të futësh një koristuvach në fushën e tekstit;
  • parametri tjetër është opsional dhe mund të përdoret për të futur vlerën e kallirit, nëse do të futet në fushën e dialogut të futur në ekran.

Nëse shikoni metodën e shpejtë (), mund të ktheni datën tjetër:

  • kuptimi i tekstit - nëse në fushën e futur për të marrë hak ndaj të dhënave dhe koristuvach natisnuv "OK";
  • rresht bosh - pasi në fushën e hyrjes nuk ka nevojë të hakmerresh për të dhënat dhe të shtypësh "OK";
  • null - si koristuvach natisuvach "Skasuvannya" ose zakrytse vіkno, në të cilën nuk është e rëndësishme që danі bouli të futet në fushën e tekstit.

Shënim: kutia e dialogut, siç shfaqet në rezultatin e njërës prej alarmeve (), metodave të konfirmimit (), ose nxitjes () al modale, në mënyrë që të bllokojë hyrjen e corystuvach në dadatkom (shfletuesin) deri në heshtje, pyesni corystuvach nuk vіkno.

Për shembull, teksti në elementin me id = "nameUser":

Për shembull, ne kërkojmë një koristuvach në supozimin e numrit 8:

... me mend numrin

E di që të var në Chergoviy kështu JavaScript, Në yakiy mi rozberemo metodat vigjilente, të shpejta, konfuze... Metodat Dani є vbudovanim in mov Javascript dhe na ndihmoni të bashkëpunojmë me koristuvach.
Alarm Për të sjellë në ekranin e shfletuesit një dritare me informacionin e këndimit, pasi skenari shtypet deri në momentin e shtypjes së butonit OK.
I shpejtë Si rregull, është e rëndësishme të tregoni se në çfarë mënyre kërkohet ushqimi, për cilin faj është fajtor për leximin në fushën e tekstit të kënduar, kur shtypni butonin OK. Po kështu, mund të mos keni nevojë të prezantoni një koristuvach duke shtypur butonin e skasuvannya.
Konfirmo Gjithashtu, futni vіkno, në të cilën koristuvach nuk mund të futni asgjë në fushën e tekstit, por mund ta privoni atë nga shtypja e butonit OK ose skasuvannya.
Dhe tani, pas një prezantimi të vogël, do të kaloj duke shikuar gjithçka që është thënë në praktikë.



vigjilent, i shpejtë, i konfirmuar





Si rezultat, kur të azhurnohet ana e shfletuesit, ne do të shfaqemi në një dritare me përshëndetjet e koristuvach. Kur shtypet butoni OK, do të shfaqet menjëherë për të ushqyer imazhin tuaj. V kjo metodëє dy parametra, të cilët janë є detyrues dhe do të shfaqen për titullin, të cilat do të përfshihen në përzgjedhjen tonë të ushqimit іmenі koristuvach. Parametri tjetër i parë shfaqet për vlerën, ashtu siç do të shfaqet për sugjerimet në fushën e tekstit. Nëse futni emrin tuaj dhe shtypni butonin OK, atëherë emri juaj do të shkojë në dritare emriPërdoruesi... Nëse shtypni butonin, atëherë në të ardhmen do të shkruani i pavlefshëm.
Së pari, është në rregull, nëse jeni duke ngrënë në koristuvach, nëse doni të largoheni nga faqja jonë chi ni. Kuptimi logjik do të sigurohet për çdo zgody në dimër e vertete, І në vіdmovі i rremë me siguri Boshti dhe gjithçka, shkoni te fisnikëria në lidhje me këto metoda, në skenë në mësimet e ardhshme!

Skriptimi ndër-faqe (XSS) është një ndryshim, si një poliag në kodin e ngulitur, për të parë në anën e klientit (JavaScript) në faqen e internetit, si të shikosh të brendshmen.

Shpërndarja e fituesve përmes mungesës së filtrave të haraçeve, të cilat dërgohen në faqen e internetit për t'u futur në faqen e internetit. Easiershtë më e lehtë të zmadhosh një prapanicë specifike. Mendojeni atë si një libër të ftuar - një seri e tërë programesh, të cilat përdoren për të pranuar një pamje të caktuar të një koristuvach dhe një imazhi të rremë. Natyrisht, libri i mysafirit nuk vizualizohet ose filtrohet, por prezantohet, por thjesht shfaqet.

Mund të hedhësh tuajën skripti më i thjeshtë(Nuk ka asgjë të thjeshtë, nuk ka nevojë të shkruani skripte të pakëndshme në PHP - është shumë e madhe për të qenë i zënë). Tashmë nuk ka më shumë opsione të gatshme të pamjaftueshme. Për shembull, do të më mungojnë disa njohuri për Dojo dhe OWASP Mutillidae II. Ka një prapanicë të ngjashme. Në mesin autonom të Dojo, shkoni te shfletuesi për leje: http: //localhost/mutillidae/index.php? Faqe = add-to-your-blog.php

Yakshko htos nga koristuvachiv viv:

Ato faqe në internet:

Vitannya! Ngjashëm me faqen tuaj.

Dhe ju do të hyni në koristuvach si kjo:

Vitannya! Ngjashëm me faqen tuaj.

Ato shfaqen kështu:

Shfletuesit ruajnë cookies falas nga një numër i madh i faqeve. Faqja e lëkurës mund të redaktohet vetëm duke e ruajtur vetë. Për shembull, faqja example.com është ngarkuar në shfletuesin tuaj. Nëse vizitoni një sit tjetër.com, i gjithë siti (skriptet e klientit dhe serverit) nuk mund të përdoret për të përpunuar qasjen në cookie, si faqja example.com.

Ndërsa faqja example.com është e fryrë në XSS, kjo do të thotë që ne mundemi në mënyrën më efektive të fusim në kodin e ri JavaScript, dhe kodi do të shfaqet në faqen example.com! Për ta bërë këtë, kodi do të jepet, për shembull, qasja në faqen e cookie shembull.com.

Unë mendoj se të gjithë do të mbajnë mend se JavaScript është në dispozicion në shfletuesit e corystuvachiv, kështu që me praninë e XSS, me futjen e një kodi shkidlivy, unë do të mohoj qasjen në corystuvach të dhënë, i cili mund të përdoret për të hapur faqen e internetit.

Për më tepër, kodi është në të gjitha ato në JavaScript, por në vetvete:

  • Unë do të çaktivizoj qasjen në cookie për të parë faqen
  • mund të sillni disa gjarpërinj zovnishniy viglyad anash
  • Unë do të heq qasjen në tamponin e këmbimit
  • mund të përdorni programe JavaScript, për shembull, regjistrues kyç
  • dëgjoni BeEF
  • që në

Mbështjellës i lehtë për t’u përdorur për kukulla:

Për arsye të mirë, vigjilent vikorystovuєtsya vetëm për zbulimin XSS. Reallyshtë me të vërtetë një punë e madhe, sepse është e mundur të shtosh shumë argëtim. Vaughn është i mirëpritur të telefonojë shikoni serverin keqdashës dhe i transmetuar haraçit të ri të vjedhur.

shih XSS

Naygolovnishe, ajo që duhet thënë për të parë XSS është ajo që erë e keqe:

  • Ruaj (Posto)
  • Vidbit (Jo post)

Pjesa e postierëve:

  • Prezantuar nga personi i lig i formacioneve të veçanta nga libri i mysafirëve (koment, i postuar në forum, profil) si server, duke hyrë një herë nga serveri i lëkurës, nëse do të fuqizojë imazhin e partisë.
  • Keqdashësi, pasi kishte ndërprerë qasjen në haraçin e serverit, për shembull, përmes SQL н'єкцію, І vvadv në vidayutsya koristuvachevі danі kod i keq JavaScript (s ki-logery ose s BeEF).

Bishti i jo të përjetshmes:

  • Në sit ka një shaka, sikur në të njëjtën kohë me rezultatet shaka të ishte shfaqur në sy "Po bëtë shaka: [rreshti i shakasë]", me gjithë haraçin që të mos filtrohet sipas gradës së duhur. Oskіlki një anë e tillë shfaqet vetëm për atë që ka një përgjigje ndaj saj, atëherë, nëse keqbërësi nuk e dërgon fuqinë e sitit në sit, sulmi nuk është i saktë. Për të zëvendësuar përcjelljen e kërkesës së viktimës, mund të zgjidhni të postoni skriptin me qëllim të keq në një faqe neutrale, e cila është viktima.

Unë gjithashtu shoh (vepron në kuptimin e nxitjeve jo-perceptuese të XSS, dekh, gjithashtu, si një lloj mund të jetë ose një lloj post-XSS):

  • Modele DOM

Karakteristikat XSS të bazuara në DOM

Siç është e thjeshtë të thuash, është shumë e thjeshtë të thuash që programi i XSS "ekstravagant" jo-vendas mund të programohet pasi shfaqet kodi HTML. Për shembull, posilannya formohet nga grada e mëposhtme:

Http://example.com/search.php?q= "/>

Dhe kur shfaqet kodi HTML i daljes, duket kështu: