Настройка WAF + ALB для предотвращения внедрения SQL

Я пытаюсь настроить Amazon ALB (Application Load Balancer, а не "классический" ELB) для использования брандмауэра веб-приложений (WAF) для отклонения запросов https, которые содержат потенциальные полезные нагрузки XSS или SQL-инъекций.

Я настроил в WAF правило XSS

  • Тело содержит угрозу межсайтового скриптинга.
  • Строка запроса содержит угрозу межсайтового скриптинга после декодирования в виде URL.

и правило SQL-инъекции

  • Тело содержит угрозу внедрения SQL.
  • Строка запроса содержит угрозу внедрения SQL после декодирования в виде URL.

Когда я просматриваю форму входа в веб-приложение за ALB и отправляю имя пользователя

<script>danger</script>

ALB перехватывает запрос, как ожидается, и возвращает статус HTTP 403.

Тем не менее, когда я отправляю имя пользователя

Robert'); DROP TABLE students;--

В веб-приложении я получаю сообщение об ошибке, в котором указано неверное имя пользователя и пароль, а не ожидаемый HTTP 403.

Почему правило XSS может работать эффективно, в то время как аналогично созданное правило SQL-инъекции не останавливает ввод, который является классическим примером SQL-инъекции? Нужно ли устанавливать это правило по-другому? Любые известные проблемы применения WAF к ALB (я знаю, что интеграция очень новая, поэтому я предполагаю, что могут быть некоторые ошибки).

0 ответов

Другие вопросы по тегам