SQL-инъекции не срабатывают по нескольким причинам, и чтобы понять, что может быть не так, стоит рассмотреть несколько моментов:
1. **Валидация входных данных**: Возможно, приложение, с которым вы работаете, применяет меры по валидации и фильтрации вводимых данных. Это может включать удаление или экранирование специальных символов, что делает запросы к базе данных более безопасными.
2. **Использование подготовленных запросов**: Если приложение использует параметры или подготовленные запросы для работы с базой данных, то оно может быть защищено от SQL-инъекций, так как параметры обрабатываются отдельно от структурированных запросов.
3. **Настройки базы данных**: Конфигурация самой базы данных может предотвращать выполнение некоторых типов запросов. Например, ограниченные права пользователя, под которым выполняются запросы, могут не позволять выполнять `UNION` или получать доступ к системным таблицам.
4. **Обработка ошибок**: Неверные или неуказанные структуры запросов могут вызывать ошибки при выполнении. Например, если количество колонок в вашем `SELECT` не совпадает с ожидаемым количеством колонок в оригинальном запросе, это может вызывать ошибку.
### Что делать дальше?
1. **Изучите конкретные сообщения об ошибках**: Обратите внимание на ошибку, которая возвращается. Сообщения об ошибках могут содержать подсказки о том, что именно пошло не так.
2. **Пробуйте разные подходы**: Измените ваш запрос, чтобы понять, в чем конкретно проблема. Например:
- Попробуйте использовать другие команды, такие как `SELECT 1` или `SELECT DATABASE()` для тестирования инъекций.
- Экспериментируйте с разными вариантами `UNION`, например, изменить количество и типы выбираемых колонок, чтобы соответствовать ожиданиям приложения.
3. **Ознакомьтесь с приложением**: Попробуйте определить, как приложение взаимодействует с базой данных. Если у вас есть доступ к исходному коду или документации, это может помочь понять, как обрабатываются запросы SQL.
4. **Изучите защитные механизмы**: Узнайте больше о методах предотвращения SQL-инъекций и способах их обхода. Это может быть полезным для развития ваших навыков в области кибербезопасности.
5. **Практика**: Создайте локальную тестовую среду (например, с помощью `DBeaver` или `XAMPP`), где вы сможете безопасно практиковаться и тестировать свои идеи без риска нарушения закона или этических норм.
6. **Общие ресурсы**: Изучите обучающие материалы, курсы и книги по SQL-инъекциям, чтобы закрепить свои знания и лучше понять методы, широко используемые в безопасности веб-приложений.
Подходя к практике безопасно и этично, вы сможете сильно улучшить свои навыки в области кибербезопасности.