Π ΠΏΡΠΎΡΠ»ΠΎΠΌ Π³ΠΎΠ΄Ρ ΠΌΡ Π²ΡΠΏΡΡΡΠΈΠ»ΠΈ 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 Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ URL-decode Π² cookie
- NAXSI ΠΎΡΠ΅Π½Ρ Π΄ΠΎΠ»Π³ΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ β ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π΅ΡΠΎΠ»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠ°Π²ΠΈΠ» Π±ΡΠ΄ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ (Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΈΠ»Ρ ΠΈΠ»ΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, ΡΡΠ°ΡΡΠΈΠ΅ Π² ΠΎΠΏΡΠΎΡΠ°Ρ ΠΈ Ρ.Π΄.) ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΡΡΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Nemesida WAF Free Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΡΠΎΠΌ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π° Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π»ΠΎΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ.
- ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠΎΠ² Π°ΡΠ°ΠΊ Ρ NAXSI Π² ΡΠ°Π·Ρ Π²ΡΡΠ΅ ΠΈ Ρ.Π΄.
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ, NAXSI ΠΈ mod_security ΠΈΠΌΠ΅ΡΡ, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π΄Π²Π° ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° β ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌ ΠΈΠ΄Π΅Ρ ΡΠ°ΡΠΊΡΡΡΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΠ·-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Β«ΠΏΠΈΡΠ°ΡΡΡΠ²ΠΎΠΌΒ» ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ, Π½ΠΎ ΡΡΠΎΠ±Ρ ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΠΊ β ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π½Π°Π±ΠΎΡΠ° ΡΠΈΠ³Π½Π°ΡΡΡ. ΠΡ ΡΠ΅Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌ Π² ΡΡΠΎΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ Nemesida WAF Free:
- ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ Π±Π°Π·Π° ΡΠΈΠ³Π½Π°ΡΡΡ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ False Positive ΠΈ False Negative.
- ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ (ΡΡΠΎ Π±ΡΡΡΡΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ);
- ΠΏΡΠΎΡΡΡΠ΅ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠ΅ ΡΠΎΠ±ΡΡΠΈΡ ΠΎΠ± ΠΈΠ½ΡΠΈΠ΄Π΅Π½ΡΠ°Ρ , Π° Π½Π΅ Β«ΠΊΠ°ΡΠ°Β», ΠΊΠ°ΠΊ Ρ NAXSI;
- ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΡΠ°ΡΠΈΠΊΠ°, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ Ρ ΠΎΡΡΠΎΠ² ΠΈ Ρ.Π΄.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠ°Π±ΠΎΡΡ 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
cat /etc/passwd
cat$u+/etc$u/passwd$u
<svg/onload=alert()//
ΠΡΠ»ΠΈ Π·Π°ΠΏΡΠΎΡΡ Π½Π΅ Π±ΡΠ΄ΡΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ β ΡΠΎ, ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, WAF ΠΏΡΠΎΠΏΡΡΡΠΈΡ ΠΈ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π°ΡΠ°ΠΊΡ. ΠΠ΅ΡΠ΅Π΄ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ WAF Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π»Π΅Π³ΠΈΡΠΈΠΌΠ½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com