Форма блокировки проверки AWS WAF XSS с ключевым словом ON в значении поля формы

Публикация формы с «on» или любым словом, начинающимся с «on» в качестве последнего слова в поле формы, приводит к блокировке XSS от aws waf, заблокированной этим правилом. Тело содержит угрозу межсайтового скриптинга после декодирования как URL, например. «только двадцать» или «онлайн» или «проверить» все результаты в блоке XSS

Вроде бы нормальные слова, почему за xss блокируется?

но с пробелом в конце он не блокируется, например. "Только двадцать" или "онлайн" или "проверить" эти работы


person kishor laskar    schedule 06.12.2019    source источник
comment
Какой у Вас вопрос?   -  person Maxime B.    schedule 06.12.2019
comment
только, онлайн и т.д. - нормальные слова. Почему aws waf блокирует это, я не понимаю?   -  person kishor laskar    schedule 06.12.2019
comment
В нашем случае это блокировка поля формы с текстом, заканчивающимся на единицу. Например. У меня есть. Строки, заканчивающиеся такими словами, как тон, кость и т. д., похоже, работают нормально.   -  person ckng    schedule 06.01.2020


Ответы (2)


Вы можете попробовать обновиться до WAFv2, однако определенная комбинация символов «on» + «&» все равно может привести к ложному срабатыванию. Правило, вызывающее проблему, — XSS в теле с декодированием URL. Поэтому, если ваши данные формы отправляются с использованием кодировки URL, вы можете столкнуться с проблемой. Если вы отправляете форму как данные JSON или используете MIME multipart/form-data, она должна работать. У меня есть 2 приложения, одно с отправкой данных формы с помощью javascript XHR с использованием fetch API, оно использует multipart/form-data, а другое с данными JSON не блокируется.

В противном случае вам нужно настроить свои правила XSS или установить это конкретное правило для подсчета. Я не буду публиковать, как настроить, чтобы кто-то не затаился здесь и не попытался пошутить.

Ваше предложение по добавлению пробела также работает, бэкэнд может удалить пробел или оставить как есть. Немного раздражает, но это работает.

person Max    schedule 20.02.2020

Просто отмечаем, что прошлой ночью мы начали работу с WAF, и за ночь было заблокировано несколько десятков законных запросов.

Разумеется, каждое правило XSS содержало строку в теле запроса, за которой следовали другие символы.

Интересно, пытался ли он обнаружить сотню или около того onerror, onload и других событий javascript? Такое чувство, что это могло бы быть намного более конкретным, чем сопоставление on с последующими вещами...

Единственным решением здесь, по-видимому, является отключение этого правила для нас - в противном случае оно будет для нас постоянным источником ложных срабатываний, что делает его бесполезным.

person Phantomwhale    schedule 14.04.2021