Я пытаюсь настроить Amazon ALB (Application Load Balancer, а не «классический» ELB) для использования брандмауэра веб-приложений (WAF) для отклонения запросов https, которые содержат потенциальные полезные нагрузки XSS или SQL Injection.
Я настроил в WAF правило XSS
и правило SQL-инъекции
Когда я перехожу к форме входа в веб-приложение за ALB и отправляю имя пользователя
<script>danger</script>
ALB перехватывает запрос, как ожидалось, и возвращает статус HTTP 403.
Однако, когда я отправляю имя пользователя
Robert'); DROP TABLE students;--
Я получаю сообщение об ошибке от веб-приложения с указанием неверного имени пользователя и пароля, а не ожидаемого HTTP 403.
Почему правило XSS может работать эффективно, в то время как аналогичным образом созданное правило SQL-инъекции не останавливает ввод, что является классическим примером SQL-инъекции? Мне нужно как-то настроить это правило по-другому? Любые известные проблемы с применением WAF к ALB (я знаю, что интеграция очень нова, поэтому я предполагаю, что могут быть некоторые ошибки).