Web Pentest Checklist
1. Подготовка и планирование
— Определение целей тестирования.
— Получение разрешения на проведение теста.
— Сбор информации о цели тестирования (технологии, архитектура и т.д.).
— Определение области применения и ограничений.
2. Разведка
— Анализ DNS-записей.
— Использование инструментов для сбора информации (например, Nmap, DirBuster).
— Поиск уязвимых конфигураций и неиспользуемых директорий.
3. Тестирование на уязвимости
— Восприятие инъекций (SQL, XSS, CSRF).
— Проверка аутентификации и авторизации.
— Анализ безопасности сессий и куки.
— Тестирование на утечку конфиденциальной информации.
4. Тестирование внешних компонентов
— Проверка интеграции сторонних библиотек/скриптов.
— Анализ безопасности API.
5. Проверка конфигураций
— Оценка настроек сервера и приложения (например, конфигурации Apache, Nginx).
— Проверка версий используемых программных продуктов.
6. Тестирование защиты от атак
— Анализ эффективности WAF (Web Application Firewall) и других систем защиты.
— Тестирование на устойчивость к DDoS-атакам.
7. Проверка безопасности файлового хранения
— Анализ прав доступа к серверным файлам.
— Проверка конфигурации загрузки файлов и ограничений на типы файлов.
8. Тестирование уязвимостей в коде
— Поиск уязвимостей, связанных с некорректной обработкой данных.
— Анализ логики программного обеспечения на предмет потенциальных небезопасностей.
9. Тестирование клиентской стороны
— Проверка безопасности JavaScript и других клиентских скриптов.
— Анализ уязвимостей в использовании браузерных API.
10. Документация и отчетность
— Сбор и документирование всех найденных уязвимостей.
— Подготовка отчета для заказчика с рекомендациями по исправлению.
11. Заключительные шаги
— Обсуждение результатов тестирования с клиентом.
— Координация плана устранения выявленных проблем.
— Проведение повторного тестирования после исправления уязвимостей.
Следуя этому чеклисту, можно провести комплексное тестирование на безопасность веб-приложений и выявить потенциальные риски.