ХабрПостыНовостиМегапосты?

Новый билд Nemesida WAF Free для NGINX


В прошлом году мы выпустили Nemesida WAF Free — динамический модуль для NGINX, блокирующий атаки на веб-приложения. В отличие от коммерческой версии, основанной на работе машинного обучения, бесплатная версия анализирует запросы только сигнатурным методом.

Особенности релиза Nemesida WAF 4.0.129


До текущего релиза динамический модуль Nemesida WAF поддерживал только Nginx Stable 1.12, 1.14 и 1.16. В новом релизе добавлена поддержка Nginx Mainline, начиная с 1.17, и Nginx Plus, начиная с 1.15.10 (R18).

Зачем делать еще один WAF?


NAXSI и mod_security, наверное, самые популярные бесплатные модули WAF, причем mod_security активно продвигается силами Nginx, хотя, изначально, использовался только в Apache2. Оба решения бесплатные, имеют открытый исходный код и множество пользователей во всем мире. Для mod_security доступен бесплатный и коммерческий, за $500 в год, наборы сигнатур, для NAXSI — бесплатный набор сигнатур «из коробки», также можно найти дополнительные наборы правил, такие как doxsi.

В этом году мы провели сравнение работы NAXSI и Nemesida WAF Free. Если коротко о результатах:


Несмотря на недостатки, NAXSI и mod_security имеют, как минимум, два преимущества — открытый исходный код и большое количество пользователей. Мы поддерживаем идею раскрытия исходного кода, но пока не можем этого сделать из-за возможных проблем с «пиратством» коммерческой версии, но чтобы компенсировать этот недостаток — полностью раскрываем содержимое набора сигнатур. Мы ценим конфиденциальность и предлагаем в этом убедиться самостоятельно с помощью прокси-сервера.

Особенность Nemesida WAF Free:


В заключении приведу несколько запросов для оценки работы WAF (рекомендуется использовать в каждой из зон: URL, ARGS, Headers & Body):

')) un","ion se","lect 1,2,3,4,5,6,7,8,9,0,11#"]
')) union/**/select/**/1,/**/2,/**/3,/**/4,/**/5,/**/6,/**/7,/**/8,/**/9,/**/'some_text',/**/11#"]
union(select(1),2,3,4,5,6,7,8,9,0x70656e746573746974,11)#"]
')) union+/*!select*/ (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
')) /*!u%6eion*/ /*!se%6cect*/ (1),(2),(3),(4),(5),(6),(7),(8),(9.),(0x70656e746573746974),(11)#"]
')) %2f**%2funion%2f**%2fselect (1),(2),(3),(4),(5),(6),(7),(8),(9),(0x70656e746573746974),(11)#"]
%5B%221807182982%27%29%29%20uni%22%2C%22on
%20sel%22%2C%22ect%201%2C2%2C3%2C4%2C5%2C6%2C7%2C8%2C9%2C%2some_text%27%2C11%23%22%5D
cat /et?/pa?swd
cat /et'c/pa'ss'wd
cat /et*/pa**wd
e'c'ho 'swd test pentest' |awk '{print "cat /etc/pas"$1}' |bas'h
c\a\t \/\e\t\c/\p\a\s\sw\d
cat$u+/etc$u/passwd$u
<svg/onload=alert()//


Если запросы не будут заблокированы — то, скорее всего, WAF пропустит и реальную атаку. Перед использованием примеров убедитесь, что WAF не блокирует легитимные запросы.
@pentestit-team
16.07.2019 15:37 UTC
Первоисточник