Статьи

Атакующие веб-приложения

Моя первая секционная сессия в Практике разработчиков SELA была посвящена наиболее распространенным атакам на веб-приложения и способам защиты от этих атак. Планируя этот доклад, я знал, что 60 минут вряд ли хватит для охвата всех распространенных уязвимостей — особенно если я хочу показать какие-либо демонстрации — поэтому я решил сосредоточиться на трех наиболее распространенных типах уязвимостей, в соответствии с 10 основными рекомендациями OWASP :

  1. Инъекция (внедрение команд и SQL-инъекция)
  2. Сломанная аутентификация или управление сеансом
  3. Межсайтовый скриптинг (и CSRF в качестве бонуса)

Я продемонстрировал эти распространенные уязвимости в серии демонстраций с использованием игрушечных приложений — DVWA и Google Gruyere. К сожалению, без особых усилий я смог найти реальные цели для использования, выполнив простой поиск в Google. Знание — это сила, а власть нужно использовать с умом …

Внедрение команд ОС
Я использовал DVWA (Черт уязвимого веб-приложения), чтобы продемонстрировать внедрение команд ОС. DVWA поставляется с полезным «бесплатным инструментом ping», который позволяет вам вводить IP-адрес и выполнять команду «ping» ОС от вашего имени. При получении следующего ввода DVWA зависает и ожидает подключения через порт 13371 и выполняет все команды, которые вы вводите через это подключение:

127.0.0.1;mkfifo /tmp/pipe;sh /tmp/pipe | nc -l 13371 > /tmp/pipe

Сломанные файлы cookie
Я использовал Google Gruyere для этой демонстрации, в частности, уязвимости, связанной с манипуляциями с файлами cookie. Вы можете прочитать больше об этом в официальной документации Грюйера .

Небезопасное хранение паролей
Я продемонстрировал (используя утечку хеша в LinkedIn), что недостаточно хранить хэшированные пароли. В частности, пользователи LinkedIn выбрали ужасные пароли, такие как «пароль» и «iloveyou», и простой SHA-1 такого типа пароля не сможет противостоять даже бесплатным онлайн-радужным таблицам, таким как OnlineHashCrack.com . Затем мы обсудили соляцию и хэширование паролей, а также использование более медленных хеш-функций, таких как bcrypt (риск того, что DOS будет обслуживать ваш сервис, когда выдается несколько одновременных запросов на вход в систему).

XSS и CSRF
Опять же, я использовал Google Gruyere для этой демонстрации — она ​​предоставляет множество возможностей для постоянного и временного XSS. Например, когда URL-адрес недействителен, Gruyere отображает этот URL-адрес на странице ошибки, не экранируя, что позволяет встраивать скрипты в URL-адрес, который затем Gruyere с радостью воспроизводит для пользователя. Дополнительные типы уязвимостей XSS и CSRF в Грюйере см. В официальных документах .

Неверная настройка безопасности
Наконец, я рассказал о том, как легко найти открытые консоли администратора, которые позволяют любому пользователю Интернета проникнуть глубоко в недра вашего веб-сервера и даже получить журналы и трассировки, которые содержат конфиденциальную информацию, такую ​​как куки-файлы аутентификации. Например, попробуйте
этот поиск в Google для страниц ELMAH, которые содержат файл cookie аутентификации ASP.NET.

Одна рекомендация, чтобы управлять ими Все, в
заключение я упомянул недавнюю рекомендацию по уязвимости для определенного класса маршрутизаторов DLink . Это единственное руководство содержит проблемы XSS и CSRF, дыры раскрытия информации, небезопасные проблемы с хранением паролей и возможности внедрения команд ОС.

Спасибо, что пришли на разговор, и я с нетерпением жду встречи с вами во время остальной части конференции или на следующем SDP!