При тестировании black-box методом ты не имеешь доступа к исходникам, не можешь увидеть, как работает тестируемая фича или как она обрабатывает входные данные. Поэтому необходимо ответить на несколько вопросов, включая:
▪️Какова цель фичи?
▪️Какие входные данные ожидаются?
▪️Какие типы данных поддерживаются?
▪️Какие технологии используются?
▪️Какие могут быть проблемы безопасности? И т. д.
💡 Основные техники тестирования
Существует множество методов black-box тестирования, и все они, по сути, преследуют одну и ту же главную цель: улучшить понимание фичи и/или вызвать неожиданное поведение. Последнее может включать:
▪️Покрытие кода
▪️Время процесса
▪️Сообщения об ошибках
▪️Проверки входных данных
▪️Сбои
1️⃣ Переходы состояний: анализ поведения системы при различных входных условиях
2️⃣ Фаззинг:
▪️Generation-based — генерация нового пэйлоада с нуля
▪️Mutation-based — модификация предыдущего пэйлоада
3️⃣ Угадывание ошибок: техника основана на опыте багхантера для создания тест-кейсов
4️⃣ Регрессионное тестирование: проверка функциональности после изменений в коде
🔥 Универсальный пэйлоад
<z>"z'z`%}})z${{z\Его цель — инициирование общих ошибок, нарушения экранирования кавычек, ошибки шаблонизаторов, обнаружение XSS, инъекции форматирования и получение сообщений о некорректном вводе от целевой системы.
💬 А твоя главная цель — адаптировать пэйлоад к используемой в приложении технологии, чтобы увеличить вероятности возникновения непредвиденного поведения.




















