Повече хора имат достъп до интернет от всякога. Това накара много организации да разработят уеб-базирани приложения, които потребителите могат да използват онлайн за взаимодействие с организацията. Лошо написаният код за уеб приложения може да се използва, за да се получи неоторизиран достъп до чувствителни данни и уеб сървъри.
В този урок ще научите как да хакнете уебсайтове и ще ви запознаем с техниките за хакване на уеб приложения и противодействащите мерки, които можете да въведете, за да се предпазите от подобни атаки .
Теми, обхванати в този урок
- Какво е уеб приложение? Какво представляват уеб заплахите?
- Как да защитим уебсайта си от хакове?
- Трикове за хакване на уебсайтове: Хакнете уебсайт онлайн!
Какво е уеб приложение? Какво представляват уеб заплахите?
Уеб приложение (известен още като уебсайт) е приложение, базирано на модела клиент-сървър. Сървърът осигурява достъп до базата данни и бизнес логика. Той се хоства на уеб сървър. Клиентското приложение работи на клиентския уеб браузър. Уеб приложенията обикновено са написани на езици като Java, C # и VB.Net, PHP, ColdFusion Markup Language и др. Механизмите за бази данни, използвани в уеб приложения, включват MySQL, MS SQL Server, PostgreSQL, SQLite и др.
Повечето уеб приложения се хостват на публични сървъри, достъпни през Интернет. Това ги прави уязвими за атаки поради лесната достъпност. Следните са често срещани заплахи за уеб приложения.
- SQL Injection - целта на тази заплаха може да бъде да заобиколи алгоритмите за вход, да саботира данните и т.н.
- Атаки на отказ на услуга - целта на тази заплаха може да бъде да се откаже достъп на легитимни потребители до ресурса
- Cross Site Scripting XSS - целта на тази заплаха може да бъде да се инжектира код, който може да бъде изпълнен в браузъра от страна на клиента.
- Отравяне на бисквитки / сесии - целта на тази заплаха е да модифицира бисквитки / сесийни данни от нападател, за да получи неоторизиран достъп.
- Подправяне на формуляри - целта на тази заплаха е да модифицира данни за формуляри, като например цени в приложения за електронна търговия, така че нападателят да може да получи артикули на намалени цени.
- Инжектиране на код - целта на тази заплаха е да се инжектира код като PHP, Python и др., Който може да бъде изпълнен на сървъра. Кодът може да инсталира бекдори, да разкрива чувствителна информация и т.н.
- Обезобразяване - целта на тази заплаха е да модифицира страницата, показана на уебсайт, и да пренасочи всички заявки към една страница, която съдържа съобщението на нападателя.
Как да защитим уебсайта си от хакове?
Организацията може да приеме следната политика, за да се предпази от атаки на уеб сървър.
- SQL Injection - дезинфекцирането и валидирането на потребителски параметри преди изпращането им в базата данни за обработка може да помогне за намаляване на шансовете за атака чрез SQL Injection. Двигателите на бази данни като MS SQL Server, MySQL и др. Поддържат параметри и подготвени отчети. Те са много по-безопасни от традиционните SQL изрази
- Атаки на отказ на услуга - защитните стени могат да се използват за отпадане на трафика от подозрителен IP адрес, ако атаката е проста DoS. Правилната конфигурация на мрежите и системата за откриване на проникване също може да помогне за намаляване на шансовете DoS атака да е била успешна.
- Cross Site Scripting - валидиране и дезинфекция на заглавия, параметри, предадени през URL адреса, параметри на формуляри и скрити стойности могат да помогнат за намаляване на XSS атаките.
- Отравяне на бисквитки / сесии - това може да бъде предотвратено чрез криптиране на съдържанието на бисквитките, изчакване на бисквитките след известно време, свързване на бисквитките с IP адреса на клиента, който е бил използван за създаването им.
- Темпериране на формуляра - това може да бъде предотвратено чрез валидиране и проверка на въведеното от потребителя преди обработката му.
- Инжектиране на код - това може да бъде предотвратено чрез третиране на всички параметри като данни, а не като изпълним код. За да се приложи това, могат да се използват саниране и валидиране.
- Defacement - добрата политика за сигурност на разработката на уеб приложения трябва да гарантира, че тя запечатва често използваните уязвимости за достъп до уеб сървъра. Това може да бъде правилна конфигурация на операционната система, софтуера на уеб сървъра и най-добрите практики за сигурност при разработването на уеб приложения.
Трикове за хакване на уебсайтове: Хакнете уеб сайт онлайн
В този практичен сценарий за хакване на уебсайт ще отвлечем потребителската сесия на уеб приложението, разположено на www.techpanda.org. Ще използваме скриптове на различни сайтове, за да прочетем идентификационния номер на сесията на бисквитките, след което ще го използваме за представяне на легитимна потребителска сесия.
Предполага се, че нападателят има достъп до уеб приложението и той би искал да отвлече сесиите на други потребители, които използват същото приложение. Целта на тази атака може да бъде да се получи администраторски достъп до уеб приложението, ако се приеме, че акаунтът за достъп на хакера е ограничен.
Приготвяме се да започнем
- Отворете http://www.techpanda.org/
- За целите на практиката е силно препоръчително да получите достъп, използвайки SQL Injection. Вижте тази статия за повече информация как да направите това.
- Имейлът за вход е Този имейл адрес е защитен от спам ботове. Трябва да имате активиран JavaScript, за да го видите., Паролата е Password2010
- Ако сте влезли успешно, ще получите следното табло за управление
- Щракнете върху Добавяне на нов контакт
- Въведете следното като първо име
ТУК,
Горният код използва JavaScript . Той добавя хипервръзка със събитие onclick . Когато неподозиращият потребител щракне върху връзката, събитието извлича идентификатора на сесията на PHP бисквитката и го изпраща на страницата snatch_sess_id.php заедно с идентификатора на сесията в URL адреса
- Въведете останалите подробности, както е показано по-долу
- Кликнете върху Запазване на промените
- Вашето табло за управление сега ще изглежда като на следващия екран
- Тъй като кодът на скрипта на различни сайтове се съхранява в базата данни, той ще се зарежда всеки път, когато потребителите с права за достъп влизат
- Да предположим, че администраторът влиза и кликва върху хипервръзката, която казва Dark
- Той / тя ще получи прозореца с идентификатора на сесията, който се показва в URL адреса
Забележка : скриптът може да изпраща стойността към някакъв отдалечен сървър, където се съхранява PHPSESSID, след което потребителят се пренасочва обратно към уебсайта, сякаш нищо не се е случило.
Забележка : стойността, която получавате, може да се различава от тази в този урок за хакване на уеб страница, но концепцията е същата
Олицетворение на сесията с помощта на добавката Firefox и Tamper Data
Диаграмата по-долу показва стъпките, които трябва да предприемете, за да завършите това упражнение.
- За този раздел ще ви е необходим уеб браузър Firefox и добавка Tamper Data
- Отворете Firefox и инсталирайте добавянето, както е показано на диаграмите по-долу
- Потърсете данни за подправяне, след това кликнете върху инсталиране, както е показано по-горе
- Кликнете върху Приеми и инсталирайте ...
- Щракнете върху Рестартиране сега, когато инсталацията завърши
- Активирайте лентата с менюта във Firefox, ако не се показва
- Кликнете върху менюто с инструменти, след което изберете Tamper Data, както е показано по-долу
- Ще получите следния прозорец. Забележка: Ако Windows не е празен, натиснете бутона за изчистване
- Щракнете върху менюто Start Tamper
- Върнете се обратно към уеб браузъра Firefox, напишете http://www.techpanda.org/dashboard.php и след това натиснете клавиша enter, за да заредите страницата
- Ще получите следното изскачащо съобщение от Tamper Data
- Изскачащият прозорец има три (3) опции. Опцията Tamper ви позволява да модифицирате информацията за HTTP заглавката, преди тя да бъде изпратена на сървъра .
- Кликнете върху него
- Ще получите следния прозорец
- Копирайте идентификатора на PHP сесията, който сте копирали от URL адреса на атаката, и го поставете след знака за равенство. Вашата стойност сега трябва да изглежда така
PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2
- Щракнете върху бутона OK
- Ще получите отново изскачащия прозорец за данни Tamper
- Премахнете отметката от квадратчето с надпис Продължаване на фалшифицирането?
- Щракнете върху бутона за изпращане, когато сте готови
- Трябва да можете да видите таблото, както е показано по-долу
Забележка : не влязохме, представихме сесия за влизане, използвайки стойността PHPSESSID, която получихме с помощта на скриптове на различни сайтове
Обобщение
- Уеб приложение се базира на модел сървър-клиент. Клиентската страна използва уеб браузъра за достъп до ресурсите на сървъра.
- Уеб приложенията обикновено са достъпни през интернет. Това ги прави уязвими за атаки.
- Заплахите за уеб приложения включват SQL Injection, Code Injection, XSS, Defacement, отравяне с бисквитки и др.
- Добрата политика на сигурност при разработването на уеб приложения може да помогне да ги направите сигурни.