SQL Injection (SQLi)

Я исследую веб‑безопасность и делюсь практическими разбориками уязвимостей: от CSRF и XXE до Server‑Side XSS, race conditions и обходов CSP. Пишу чек‑листы атак и защиты, редкие кейсы из практики и мысли о мышлении пентестера. Только прикладной AppSec, понятные примеры и то, что реально встречается в проде. Учимся охотиться, пока на нас не охотятся.

sql injectionsqliвеб-безопасность

💩SQL injection (SQLi) - это уязвимость в веб-приложениях, которая позволяет злоумышленнику вмешиваться в запросы, которые приложение делает к своей SQL базе данных.

💩Тип:
Web, Server-Side (эксплуатация происходит на стороне сервера приложения).

К основным разновидностям можно онтести:

  • 💩Error-Based SQLi - эксплуатация происходит путем вызова ошибок синтаксиса SQL.
  • 💩Union-Based SQLi - эксплуатация происходит путем применения оператора SQL UNION.
  • 💩Blind SQLi - категория вмещает в себя все типы SQLi, в которых мы не видим явного подтверждения произведенной эксплуатации.
  • 💩Boolean-Based SQLi - эксплуатация происходит путем применения логических операторов SQL.
  • 💩Time-Based SQLi - эксплуатация происходит путем применения задержек во времени для проверки работы эксплоита.
  • 💩Out-of-Bound SQLi - в процессе эксплуатации мы получаем отклик на подконтрольный нам сервер от приложения.
  • 💩Second-Order SQLi - вредоносный код внедряется в какой-то элемент приложения и только потом при определенных условиях попадает в SQL-запрос. Тут могут быть применимы все остальные типы SQLi.

💩Пример полезной нагрузки:

https://example.com/login?name=admin'--

💩Влияние:
Чтение конфиденциальных данных, влияние на функционал приложения, исполнение произвольного кода (RCE).

💩Как защититься?
Наиболее эффективным способом является использование параметризированных звпросов (prepared statements). Другими методами являются валидация входных данных, использование белых списков, изменение логики работы приложения.

Я бы сказал, что в современных приложениях находить "стоящие" SQLi становится сложнее ввиду того, что много кто применяет меры защиты. Они могут легко находиться сканерами уязвимостей, однако составить работающий эксплоит бывает проблематично.

#edu #vuln #web #sqli

Синяя иллюстрация с надписью «SQLI / SQL INJECTION» в неоновом стиле, символизирующая тему уязвимости SQL.
Иллюстрация для поста о SQL Injection.

Читайте так же