Има много различни компютърни атаки, на които сме изложени, в този урок ще говорим за Кибер атака на Cross-Site Scripting (XSS). Тази атака се състои в инжектиране на нежелан код в уеб приложения. По този начин нападателят може да промени поведението на приложението, което може да повреди данни, да загуби информация, да откаже услуга (DoS) и т.н.
Например, нападателят може да накара уязвима уеб страница да пренасочи трафика към своя собствена, с лоши последици както за собственика на страницата, така и за потребителите.
Какви последици може да има това?
Разнообразни и сериозни, но представете си, че Facebook има уязвимост от този тип, нападателят я използва и фалшифицирането на оригиналната страница създава клонинг на тази страница, като по този начин подражава на Facebook. Потребителите влизат и нападателят запазва своите идентификационни данни, след което просто ги пренасочва към официалната страница, така че потребителят рядко разбира.
Къде можем да проверим дали уебсайт е уязвим?
Можете да го направите по много начини, но най-често срещаните са във форуми или места, където те позволяват коментари в случай на продължителна атака, или в URL адресите в случай на непостоянна.
Каква е причината за тази уязвимост?
Тъй като страниците не проверяват правилно въведените данни от потребителите, а също и изходът не е кодиран. Така че, ако имате уеб страница, която винаги не вярва на потребителите, потвърждаващи техните данни, езиците за програмиране вече предлагат функции, които позволяват, например функцията strip_tag PHP премахва HTML таговете (но вижте предупрежденията, които има).
Типове XSS атакиНепостоянен или огледален типПри тази атака на жертвата се предоставя манипулиран URL адрес, който ще съдържа кода, който трябва да бъде инжектиран като параметър.
Постоянен или директен типДанните, вмъкнати от потребителя, ще се съхраняват на сървъра, засягайки всички потребители, които се свързват с мрежата.
Ще видим примери за това как атаката ще се извършва оттук нататък.
ЗабележкаЦелта на урока е да можете да тествате създадените от вас уеб приложения или тези на хората, които ви дават разрешение, а не така, че да извършвате „злонамерени“ действия.
1. Пример за непостоянен XSS
Искаме да пренасочим човек към страница, която контролираме, но да го накараме да повярва, че посещава оригиналната страница, можем да му изпратим имейл с съкратената връзка (или не), която има следното съдържание:
http://www.paginadeseada.com/?search=С този пример става ясно колко лесно е да се използва уязвимост от този тип.
2. Пример за постоянен XSS
В коментар можем да поставим HTML или JavaScript код, който се записва на сървъра, и че всеки път, когато страницата, съдържаща коментара, се пренасочва към нашата уеб страница, за този пример може да се вмъкне следният HTML код:
Обръщаме се към различен пример от тези, които видяхме сега. Сега ще видим примери за използване на DVWA, уеб приложение, разработено с PHP и MySQL. Това приложение вече се предлага в Metasploitable 2, което можете да го монтирате във виртуална машина.
Това ще ни позволи да тестваме различни уеб атаки и можем да променим степента на сигурност (за примерите използваме ниската), също така ще можем да видим PHP кодовете, които се атакуват, така че можете да видите какво не да използвате във вашите кодове.
3. Примери XSS отразена DVWA
В този раздел ще видим няколко примера, нека започнем. Ако сложим нормално име, същото Тест, приложението работи добре, нека видим изображението:
Увеличете
Ако въведем следния код като име:
ТестВиждаме, че името става смело (може би в изображението не се оценява много добре):
Увеличете
И ако въведем вход, ще работи ли? За да го тестваме, вмъкваме следния код:
На следващото изображение виждаме, че е работил:
Увеличете
Нека преминем към Съхранява се XSS (съхранява се).
4. XSS Съхранени примери за DVWA
Ще извършим няколко доказателства за концепцията, първото нещо, което ще направим, е да вмъкнем кратък текст, придружен от скрипт като коментар, да видим какво ще се случи, скриптът е възможно най -лесен, той е следният:
Здравей и довиждане.
Увеличете
Когато го въведем както на предишната снимка, кликваме върху Sign Sign Guestbook, коментарът се изпраща, нищо странно не се случва, текстовият низ се вижда, няма признаци на скрипта, както можем да видим по -долу:
Увеличете
Значи нищо не се е случило? Е, нека проверим, опресним страницата и виждаме, че предупреждението скача:
Увеличете
Можете също така да оцените, че коментарът има само Здравей, затова скриптът е поставен между текста, така че можете да видите, че го чете, спира на предупреждението и когато щракнете върху OK, ще имате останалата част от текста и останалата част от страницата, която липсваше (както и зелените връзки, които бяха под частта за коментари).
Сега ще вмъкнем формуляр в коментара, можете да видите, че броят на знаците, които човек може да въведе, е ограничен до 50, защото ще проверим HTML кода на текстовото поле на коментара (щракнете с десния бутон, Проверка):
Увеличете
Виждаме maxlength = ”50”, ще добавим още 0 до края, оставайки в 500, както виждаме по -долу:
Увеличете
И сега ще коментираме следния HTML код:
Напишете вашето име:Виждаме, че той вече го приема, затова се отдаваме Впишете се в книгата за гости и виждаме следното:
Увеличете
Формулярът е вмъкнат, както проверихме. И накрая, ако искате да практикувате със средно ниво в съхранен XSS, опитайте следното:
1 -ви. Променете максималния брой знаци, които полето за име приема, точно както направихме преди.
2 -ри. Добавете следното име:
Тест
3 -ти. Като коментар поставете каквото искате.
4 -ти. Изпратете коментара и актуализирайте екрана, ще видите, че той е запазен.
Ако искате да премахнете „бисквитката“, бих променил скрипта за следното:
Ще видите следното:
След това оставям връзката към рамка, наречена XSSer, която ще ни помогне откриване, използване и докладване на XSS уязвимости.
На страницата си той идва както е инсталиран (в Kali Linux 2016 вече идва) и примери за използване.
Видяхме възможностите, които нападателят има, когато му бъде предоставена уязвима уеб страница, избягването на тези атаки не е трудноДнес във всеки език за програмиране имаме функции, които улесняват живота ни. Важно е преди да стартирате уеб страница да проверите тези грешки, тъй като това може да съсипе бизнеса ви.
Ако искате да видите урок, в който се използва това приложение, но се извършват други видове атаки: Pentesting с DVWA.
Накрая ще бъде предоставена връзка, в случай че искате да видите друг тип атака, която също се занимава с инжектиране на код: SQL инжекция.
Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка