Проблема с правилом сравнения ACL AWS Regex - PullRequest
0 голосов
/ 26 апреля 2020

Я пытался поставить WAF на балансировщик нагрузки на AWS.

В моем веб-приложении есть параметр (но он используется только в одном URL-адресе, а не во всех), который я специально оставил с уязвимостью внедрения команд, чтобы исправить это, я решил исправить это с помощью AWS ACL и добавление правила Regex, сообщающего, что, когда параметр "path" не соответствует регулярному выражению, я должен блокировать и как действие по умолчанию ACL, я должен оставить allow.

В результате все запросы, которые я делаю, выводятся с 403 с параметром пути или без него. Правда в том, что я не могу найти никаких материалов об этом правиле, и я не знаю, что я делаю неправильно, я прилагаю фотографии.

https://i.stack.imgur.com/K6rCm.png
https://i.stack.imgur.com/R69Lv.png
https://i.stack.imgur.com/gYVBL.png
https://i.stack.imgur.com/LfyHg.png

1 Ответ

0 голосов
/ 30 апреля 2020

Подумайте, что вы хотите установить правило для URI, а не запросить аргумент. Аргумент запроса просматривает только значение атрибута, то есть вещи, которые идут после ? в URI.

https://en.wikipedia.org/wiki/Uniform_Resource_Identifier

Кроме того, WAF поддерживает стандарт Perl Совместимые регулярные выражения (PCRE) с некоторыми исключениями:

https://docs.aws.amazon.com/waf/latest/developerguide/waf-regex-pattern-set-creating.html

Наконец, почему бы не использовать WAFv2? Похоже, вы все еще используете WAF Classi c.

...