Як зламати веб-сайт: Приклад злому веб-сайтів в Інтернеті

Зміст:

Anonim

Більше людей мають доступ до Інтернету, ніж будь-коли раніше. Це спонукало багато організацій розробляти веб-додатки, які користувачі можуть використовувати в Інтернеті для взаємодії з організацією. Погано написаний код для веб-додатків можна використовувати для отримання несанкціонованого доступу до конфіденційних даних та веб-серверів.

У цьому підручнику ви дізнаєтесь, як зламати веб-сайти, а також ми познайомимо вас із методами злому веб-додатків та контрзаходами, які ви можете вжити для захисту від таких атак .

Теми, висвітлені в цьому посібнику

  • Що таке веб-програма? Що таке веб-загрози?
  • Як захистити свій веб-сайт від злому?
  • Трюки злому веб-сайтів: Зламайте веб-сайт в Інтернеті!

Що таке веб-програма? Що таке веб-загрози?

Веб-програма (вона ж веб-сайт) - це програма, заснована на моделі клієнт-сервер. Сервер забезпечує доступ до бази даних та бізнес-логіку. Він розміщений на веб-сервері. Клієнтська програма працює на веб-браузері клієнта. Веб-програми, як правило, пишуться такими мовами, як Java, C # та VB.Net, PHP, ColdFusion Markup Language тощо. Механізми баз даних, що використовуються у веб-додатках, включають MySQL, MS SQL Server, PostgreSQL, SQLite тощо.

Більшість веб-додатків розміщуються на загальнодоступних серверах, доступних через Інтернет. Це робить їх вразливими до атак завдяки легкій доступності. Нижче наведено загальні загрози веб-додатків.

  • SQL Injection - метою цієї загрози може бути обхід алгоритмів входу, саботаж даних тощо.
  • Атаки відмови в обслуговуванні - метою цієї загрози може бути заборона законним користувачам доступу до ресурсу
  • Міжсайтовий сценарій XSS - метою цієї загрози може бути введення коду, який може бути виконаний у браузері на стороні клієнта.
  • Отруєння файлами cookie / сеансів - метою цієї загрози є модифікація файлів cookie / даних сеансу зловмисником для отримання несанкціонованого доступу.
  • Втручання у форму - метою цієї загрози є модифікація даних форми, таких як ціни в додатках для електронної комерції, щоб зловмисник міг отримати предмети за заниженими цінами.
  • Введення коду - метою цієї загрози є введення коду, такого як PHP, Python тощо, який можна виконати на сервері. Код може встановлювати бекдори, розкривати конфіденційну інформацію тощо.
  • Деформація - метою цієї загрози є модифікація сторінки, що відображається на веб-сайті, та перенаправлення всіх запитів на одну сторінку, що містить повідомлення зловмисника.

Як захистити свій веб-сайт від злому?

Організація може застосувати таку політику, щоб захистити себе від атак веб-серверів.

  • SQL Injection - дезінфекція та перевірка параметрів користувача перед передачею їх до бази даних для обробки може допомогти зменшити ймовірність нападу через SQL Injection. Механізми баз даних, такі як MS SQL Server, MySQL тощо, підтримують параметри та підготовлені оператори. Вони набагато безпечніші, ніж традиційні оператори SQL
  • Атаки відмови в обслуговуванні - брандмауери можна використовувати для зниження трафіку з підозрілої IP-адреси, якщо атака є простою DoS. Правильна конфігурація мереж та система виявлення вторгнень також може допомогти зменшити ймовірність успішної атаки DoS.
  • Міжсайтові сценарії - перевірка та дезінфекція заголовків, параметрів, що передаються за URL-адресою, параметрів форми та прихованих значень можуть допомогти зменшити атаки XSS.
  • Отруєння файлами cookie / сеансів - цього можна запобігти, зашифрувавши вміст файлів cookie, витримавши тайм-аут через певний час, пов’язавши файли cookie з IP-адресою клієнта, яка використовувалася для їх створення.
  • Відпустка форми - цього можна запобігти, перевіряючи та перевіряючи введення користувача перед його обробкою.
  • Введення коду - цього можна запобігти, обробляючи всі параметри як дані, а не виконуваний код. Для цього можна використовувати санітарію та перевірку.
  • Defacement - хороша політика безпеки розробки веб-додатків повинна гарантувати, що вона запечатує загальновживані вразливості для доступу до веб-сервера. Це може бути правильна конфігурація операційної системи, програмного забезпечення веб-сервера та найкращі практики безпеки при розробці веб-додатків.

Хитрощі для злому веб-сайтів: зламайте веб-сайт в Інтернеті

У цьому практичному сценарії злому веб-сайту ми збираємося викрасти сеанс користувача веб-програми, розташованої за адресою www.techpanda.org. Ми використовуватимемо сценарії між сайтами для читання ідентифікатора сеансу cookie, а потім використовуватимемо його для видавання законного сеансу користувача.

Висловлюється припущення, що зловмисник має доступ до веб-програми, і він хотів би захопити сеанси інших користувачів, які використовують той самий додаток. Метою цієї атаки може бути отримання доступу адміністратора до веб-програми, якщо припустити, що обліковий запис доступу зловмисника обмежений.

Починаємо

  • Відкрити http://www.techpanda.org/
  • Для практичних цілей настійно рекомендується отримати доступ за допомогою SQL Injection. Зверніться до цієї статті, щоб дізнатися більше про те, як це зробити.
  • Електронна адреса для входу: Ця електронна адреса захищена від спам-ботів. У вас повинен бути включений JavaScript для перегляду., Пароль - Password2010
  • Якщо ви успішно увійшли в систему, ви отримаєте наступну інформаційну панель
  • Натисніть Додати новий контакт
  • Введіть наступне як ім’я

Темний

ТУТ,

У наведеному вище коді використовується JavaScript . Він додає гіперпосилання з подією onclick . Коли нічого не підозрюючий користувач натискає посилання, подія отримує ідентифікатор сеансу файлу cookie PHP і відправляє його на сторінку snatch_sess_id.php разом з ідентифікатором сеансу в URL-адресі

  • Введіть решту реквізитів, як показано нижче
  • Клацніть на Зберегти зміни
  • Тепер ваша інформаційна панель буде виглядати так, як показано на наступному екрані
  • Оскільки код сценарію між сайтами зберігається в базі даних, він буде завантажений кожного разу, коли користувачі з правами доступу входять
  • Давайте припустимо, що адміністратор входить і натискає гіперпосилання з написом Dark
  • Він отримає вікно з ідентифікатором сеансу, який відображається в URL-адресі

Примітка : сценарій може надсилати значення на якийсь віддалений сервер, де зберігається PHPSESSID, після чого користувач перенаправляє назад на веб-сайт, ніби нічого не сталося.

Примітка : отримане вами значення може відрізнятися від значення в цьому посібнику із злому веб-сторінки, але концепція однакова

Уособлення сесії за допомогою надбудови Firefox та Tamper Data

Блок-схема нижче показує кроки, які потрібно виконати, щоб виконати цю вправу.

  • Для цього розділу вам знадобиться веб-браузер Firefox та надбудова Tamper Data
  • Відкрийте Firefox та встановіть додавання, як показано на діаграмах нижче
  • Шукайте дані фальсифікації, а потім натисніть на встановити, як показано вище
  • Натисніть Прийняти та встановити ...
  • Клацніть на Перезапустити зараз, коли інсталяція завершиться
  • Увімкніть рядок меню у Firefox, якщо він не відображається
  • Клацніть на меню інструментів, а потім виберіть Tamper Data, як показано нижче
  • Ви отримаєте наступне вікно. Примітка. Якщо Windows не порожня, натисніть кнопку очищення
  • Клацніть на меню Почати тампер
  • Поверніться до веб-браузера Firefox, введіть http://www.techpanda.org/dashboard.php, а потім натисніть клавішу Enter, щоб завантажити сторінку
  • Ви отримаєте наступне спливаюче вікно з Tamper Data
  • У спливаючому вікні є три (3) варіанти. Параметр Тампер дозволяє змінити інформацію заголовка HTTP до того, як вона буде подана на сервер .
  • Клацніть на нього
  • Ви отримаєте наступне вікно
  • Скопіюйте ідентифікатор сеансу PHP, скопійований із URL-адреси атаки, та вставте його після знака рівності. Тепер ваше значення має виглядати так

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Натисніть кнопку OK
  • Ви знову отримаєте спливаюче вікно Тампер даних
  • Зніміть прапорець "Продовжувати втручання"?
  • По закінченні натисніть на кнопку "Відправити"
  • Ви повинні бачити інформаційну панель, як показано нижче

Примітка : ми не входили в систему, ми видавали себе за сеанс входу, використовуючи значення PHPSESSID, яке ми отримували за допомогою міжсайтових сценаріїв

Резюме

  • Веб-програма базується на моделі сервер-клієнт. Клієнтська сторона використовує веб-браузер для доступу до ресурсів на сервері.
  • Зазвичай веб-програми доступні через Інтернет. Це робить їх вразливими до атак.
  • Загрози веб-додатків включають SQL Injection, Code Injection, XSS, Defacement, отруєння файлами cookie тощо.
  • Хороша політика безпеки при розробці веб-додатків може допомогти зробити їх безпечними.