Безопасность web приложений
При тестировании любого web приложения используются стандартные подходы и практики заключающиеся, так же как и при тестировании на проникновение в информационные системы, в получении максимально возможной информации о приложении, нахождении ошибок конфигурации, определение технологий и версий используемого ПО (web сервер, фреймворк и т.д.), определение возможности использования известных уязвимостей и т.д.
В процессе получения информации о web приложении полезно следующее:
- изучение исходного кода страниц
- использоввание devtools
- Просмотр robots.txt на предмет наличия скрытых от индексирования страниц
- Просмотр MD5 favicon web приложения на https://wiki.owasp.org/index.php/OWASP_favicon_database для определения импользуемого фреймворка
- Просмотр sitemap.txt на наличие страниц без прямых ссылок
- Поиск поддоменов нахождение которых увеличит поверхности атаки (подробнее ниже)
-
Просмотр HTTP заголовков для получения информации о web сервере и используемом языке:
-
Получение информации об используемом фреймворке, для получения информации о его уязвимостях
- Поиск по сайту из внешних поисковиков с использованием дополнительных ключей (site:, filetype:, intitle: и т.д.)
- Использование wappalyzer и аналогичных инструментов для получения информации об используемых технологиях.
- Поиск по webarchive который поможет получить информацию об имевшихся ранее страницах
- Поиск по GitHub и подобных сервисах для получения репозиториев в котором могут быть забыты пароли и прочая полезная информация
- В свете повсеместного использования облаков не лишним будет поиск по s3 бакетам для проверки наличия информации в них
Многое из перечисленного можно исследовать автоматически через специализированное ПО: ffuf, gobuster, feroxbuster, dirb.
Важно!
На самом деле, все вышеописанное относится к ошибкам конфигурации web приложения и в качественно сделанном продукте, не получится извлечь из вышеуказанного полезной информации.
Поиск поддоменов.
Выполняется тремя основными методиками:
- OSINT
- brute-force
- поиск виртуальных хостов
OSINT
Получение информации о TLS сертификатах
В частности поиск информации о выданых ранее сертификатах на специализированных сайтах которые ведут соответствующие логи - Certificate Transperecy Logs и, к примеру, ctsearch. В полученной информации могут содержаться сведения о поддоменах на которые были выданы сертификаты.
Гуглинг c ключами
К примеру, конструкция
вернёт поддомены example.com отличные от wwwАвтоматический перебор доменов
Который можно выполнить с помощью Sublist3r и ему подобных инструментов.
DNS Brute-Force
Можно осуществить с помощью dnsrecon и ему подобных инструментов.
Обход авторизации
В случае, если механизмы авторизации не сконфигурированны должным образом, есть множество различных вариантов получить доступ к системе обойдя авторизацию. К основным можно отнести:
- Брутфорс форм авторизации
- Обход логики авторизации, например при восстановлении пароля.
- Подделка cookies
Брутфорс проводится инструментами которые позволяют делать множество запросов к приложению перебирая при этом значения из списка слов:
Для попытки обхода логики механизма авторизации, было бы крайне полезно получить доступ к коду такого механизма, что не представляется возможным. Однако, в процессе изучения передаваемых запросов и получаемых ответов, есть вероятность подменить некоторые отправляемые сведения для получения желаемого результата. В этом деле помогут те же инструменты, которые используются при брутфорсе, или же простой curl.