10.02.2017 @ 13:46 Методология тестирования Web-приложения Methodology, pentest, web security Во время тестирования Web-приложения и поиска уязвимостей в нём очень важно придерживаться некоторой методологии, иначе вы можете упустить что-нибудь важное. Чем крупнее приложение, тем важнее систематизированный подход. Приведённая ниже методология не является обзательным стандартом, но она поможет вам не пропустить уязвимости в больших проектах. Мы делим тестирование на несколько категорий: разведка, тестирование контроля доступа, проверка входных данных, тестирование логики приложения, изучение инфраструктуры приложения, прочие тесты. 1. Разведка Сканирование портов Отображение видимого контента Поиск скрытого контента Поиск параметров отладки и разработки Определение точек ввода данных Определение используемых технологий Отображение возможных векторов атаки 2. Тестирование контроля доступа Аутентификация: Определение правил стойкости пароля Тестирование подбора логина Тестирование подбора пароля Тестирование восстановления аккаунта Тестирование функции «Запомнить меня» Тестирование функции идентификации пользователя Проверка распределения полномочий Проверка уникальности логина Тестирование многоступенчатых механизмов Управление сессиями: Проверка токенов на предсказуемость Проверка безопасности передачи токенов Проверка отображения токенов в логах Проверка многократного использования токенов Проверка завершения сеанса Проверка фиксации сессии Тестирование уязвимости CSRF Контроль доступа: Определение требований контроля доступа Тестирование эффективности многопользовательского управления Тестирование незащищённого доступа к методам управления 3. Проверка входных данных Фаззинг всех параметров Тестирование SQL-инъекций Тестирование XSS-уязвимостей Тестирование инъекций в HTTP заголовках Тестирование переадресаций Тестирование инъекций команд ОС Тестирование уязвимости Pah Traversal Тестирование HTML/JavaScript-инъекций Тестирование RFI и LFI Тестирование SMTP-инъекций Тестирование SOAP-инъекций Тестирование LDAP-инъекций Тестирование XPath-инъекций Тестирование XXE-инъекций Тестирование внедрения шаблона 4. Тестирование логики приложения Определение векторов атаки Тестирование передачи данных на стороне клиента Тестирование валидации данных на стороне клиента Тестирование компонентов толстых клиентов Тестирование логики многоступенчатых механизмов Тестирование обхода аутентификации Тестирование прав доступа Тестирование логики транзакций Тестирование IDOR-уязвимостей 5. Изучение инфраструктуры приложения Тестирование разделения в среде виртуального хостинга Тестирование разделения между ASP-приложениями Тестирование уязвимостей на сервере Проверка стандартных учётных записей Определение стандартного контента на сайте Определение опасных HTTP-методов Тестирование прокси 6. Прочие тесты Тестирование DOM-модели Тестирование frame-инъекций Проверка локальных уязвимостей Проверка параметров cookies Определение конфиденциальных данных в URL-параметрах Проверка наличия слабых SSL-шифров Анализ HTTP-заголовков В следующей статье я подробнее расмотрю каждый пункт и весь процесс тестирования в целом. leksadin 21114 Penetration testing Читать дальше >>