เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ WAF เชจเซเช‚ เชจเชตเซเช‚ เชฌเชฟเชฒเซเชก NGINX เชฎเชพเชŸเซ‡ เชซเซเชฐเซ€

เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ WAF เชจเซเช‚ เชจเชตเซเช‚ เชฌเชฟเชฒเซเชก NGINX เชฎเชพเชŸเซ‡ เชซเซเชฐเซ€
เช—เชฏเชพ เชตเชฐเซเชทเซ‡ เช…เชฎเซ‡ เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ เชกเชฌเชฒเซเชฏเซเชเชเชซ เชซเซเชฐเซ€, NGINX เชฎเชพเชŸเซ‡ เช—เชคเชฟเชถเซ€เชฒ เชฎเซ‹เชกเซเชฏเซเชฒ เชฐเซ€เชฒเซ€เช เช•เชฐเซเชฏเซเช‚ เชœเซ‡ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹ เชชเชฐเชจเชพ เชนเซเชฎเชฒเชพเช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเซ‡ เช›เซ‡. เชตเซเชฏเชพเชชเชพเชฐเซ€ เชธเช‚เชธเซเช•เชฐเชฃเชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชœเซ‡ เชฎเชถเซ€เชจ เชฒเชฐเซเชจเชฟเช‚เช— เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, เชฎเชซเชค เชธเช‚เชธเซเช•เชฐเชฃ เชซเช•เซเชค เชธเชนเซ€ เชชเชฆเซเชงเชคเชฟเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเซ‡ เช›เซ‡.

เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ WAF 4.0.129 เชจเชพ เชชเซเชฐเช•เชพเชถเชจเชจเซ€ เชธเซเชตเชฟเชงเชพเช“

เชตเชฐเซเชคเชฎเชพเชจ เชชเซเชฐเช•เชพเชถเชจ เชชเชนเซ‡เชฒเชพ, เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ 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 เชซเซเชฐเซ€เชจเชพ เช“เชชเชฐเซ‡เชถเชจเชจเซเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เช•เชฐเซเชฏเซเช‚. เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชตเชฟเชถเซ‡ เชธเช‚เช•เซเชทเชฟเชชเซเชคเชฎเชพเช‚:

  • NAXSI เช•เซ‚เช•เซ€เชเชฎเชพเช‚ เชกเชฌเชฒ URL เชกเซ€เช•เซ‹เชก เช•เชฐเชคเซเช‚ เชจเชฅเซ€
  • NAXSI เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช˜เชฃเซ‹ เชฒเชพเช‚เชฌเซ‹ เชธเชฎเชฏ เชฒเซ‡ เช›เซ‡ - เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, เชกเชฟเชซเซ‰เชฒเซเชŸ เชจเชฟเชฏเชฎ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชตเซ‡เชฌ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชฎเซ‹เชŸเชพเชญเชพเช—เชจเซ€ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชถเซ‡ (เช…เชงเชฟเช•เซƒเชคเชคเชพ, เชชเซเชฐเซ‹เชซเชพเช‡เชฒ เช…เชฅเชตเชพ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชตเซ€, เชธเชฐเซเชตเซ‡เช•เซเชทเชฃเซ‹เชฎเชพเช‚ เชญเชพเช— เชฒเซ‡เชตเซ‹, เชตเช—เซ‡เชฐเซ‡.) เช…เชจเซ‡ เช…เชชเชตเชพเชฆ เชธเซ‚เชšเชฟเช“ เชฌเชจเชพเชตเชตเซ€ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡. , เชœเซ‡เชจเซ€ เชธเซเชฐเช•เซเชทเชพ เชชเชฐ เช–เชฐเชพเชฌ เช…เชธเชฐ เชชเชกเซ‡ เช›เซ‡. เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ เชกเชฌเชฒเซเชฏเซเชเชเชซ เชซเซเชฐเซ€ เชกเชฟเชซเซ‰เชฒเซเชŸ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชธเชพเชฅเซ‡ เชธเชพเช‡เชŸ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชเช• เชชเชฃ เช–เซ‹เชŸเชพ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เชชเซเชฐเชฆเชฐเซเชถเชจ เช•เชฐเซเชฏเซเช‚ เชจเชฅเซ€.
  • NAXSI เชฎเชพเชŸเซ‡ เชšเซ‚เช•เซ€ เช—เชฏเซ‡เชฒ เชนเซเชฎเชฒเชพเช“เชจเซ€ เชธเช‚เช–เซเชฏเชพ เช˜เชฃเซ€ เช—เชฃเซ€ เชตเชงเชพเชฐเซ‡ เช›เซ‡, เชตเช—เซ‡เชฐเซ‡.

เช–เชพเชฎเซ€เช“ เชนเซ‹เชตเชพ เช›เชคเชพเช‚, NAXSI เช…เชจเซ‡ mod_securityเชฎเชพเช‚ เช“เช›เชพเชฎเชพเช‚ เช“เช›เชพ เชฌเซ‡ เชซเชพเชฏเชฆเชพ เช›เซ‡ - เช“เชชเชจ เชธเซ‹เชฐเซเชธ เช…เชจเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“. เช…เชฎเซ‡ เชธเซเชฐเซ‹เชค เช•เซ‹เชก เชœเชพเชนเซ‡เชฐ เช•เชฐเชตเชพเชจเชพ เชตเชฟเชšเชพเชฐเชจเซ‡ เชธเชฎเชฐเซเชฅเชจ เช†เชชเซ€เช เช›เซ€เช, เชชเชฐเช‚เชคเซ เช…เชฎเซ‡ เชตเซเชฏเชตเชธเชพเชฏเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃเชจเซ€ "เชšเชพเช‚เชšเชฟเชฏเชพเช—เซ€เชฐเซ€" เชธเชพเชฅเซ‡เชจเซ€ เชธเช‚เชญเชตเชฟเชค เชธเชฎเชธเซเชฏเชพเช“เชจเซ‡ เช•เชพเชฐเชฃเซ‡ เชนเชœเซ€ เชธเซเชงเซ€ เช† เช•เชฐเซ€ เชถเช•เชคเชพ เชจเชฅเซ€, เชชเชฐเช‚เชคเซ เช† เช–เชพเชฎเซ€เชจเซ‡ เชตเชณเชคเชฐ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡, เช…เชฎเซ‡ เชธเชนเซ€ เชธเชฎเซ‚เชนเชจเซ€ เชธเชพเชฎเช—เซเชฐเซ€เชจเซ‡ เชธเช‚เชชเซ‚เชฐเซเชฃ เชฐเซ€เชคเซ‡ เชœเชพเชนเซ‡เชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. เช…เชฎเซ‡ เช—เซ‹เชชเชจเซ€เชฏเชคเชพเชจเซ‡ เชฎเชนเชคเซเชต เช†เชชเซ€เช เช›เซ€เช เช…เชจเซ‡ เชธเซ‚เชšเชจ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชคเชฎเซ‡ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชฐเซเชตเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เช† เชœเชพเชคเซ‡ เชšเช•เชพเชธเซ‹.

เชจเซ‡เชฎเซ‡เชธเชฟเชกเชพ เชกเชฌเชฒเซเชฏเซเชเชเชซ เชซเซเชฐเซ€เชจเซ€ เชตเชฟเชถเซ‡เชทเชคเชพเช“:

  • เช–เซ‹เชŸเชพ เชนเช•เชพเชฐเชพเชคเซเชฎเช• เช…เชจเซ‡ เช–เซ‹เชŸเชพ เชจเช•เชพเชฐเชพเชคเซเชฎเช•เชจเซ€ เชจเซเชฏเซ‚เชจเชคเชฎ เชธเช‚เช–เซเชฏเชพ เชธเชพเชฅเซ‡ เช‰เชšเซเชš เช—เซเชฃเชตเชคเซเชคเชพเชจเซ€ เชธเชนเซ€ เชกเซ‡เชŸเชพเชฌเซ‡เช.
  • เชฐเซ€เชชเซ‹เชเซ€เชŸเชฐเซ€เชฎเชพเช‚เชฅเซ€ เช‡เชจเซเชธเซเชŸเซ‹เชฒเซ‡เชถเชจ เช…เชจเซ‡ เช…เชชเชกเซ‡เชŸ (เชคเซ‡ เชเชกเชชเซ€ เช…เชจเซ‡ เช…เชจเซเช•เซ‚เชณ เช›เซ‡);
  • เช˜เชŸเชจเชพเช“ เชตเชฟเชถเซ‡ เชธเชฐเชณ เช…เชจเซ‡ เชธเชฎเชœเซ€ เชถเช•เชพเชฏ เชคเซ‡เชตเซ€ เช˜เชŸเชจเชพเช“, เช…เชจเซ‡ NAXSI เชœเซ‡เชตเซ€ "เช—เชกเชฌเชก" เชจเชนเซ€เช‚;
  • เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เชฎเชซเชค, เชŸเซเชฐเชพเชซเชฟเช•เชจเซ€ เชฎเชพเชคเซเชฐเชพ, เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชนเซ‹เชธเซเชŸ เชตเช—เซ‡เชฐเซ‡ เชชเชฐ เช•เซ‹เชˆ เชชเซเชฐเชคเชฟเชฌเช‚เชง เชจเชฅเซ€.

เชจเชฟเชทเซเช•เชฐเซเชทเชฎเชพเช‚, เชนเซเช‚ WAF เชจเชพ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซเช‚ เชฎเซ‚เชฒเซเชฏเชพเช‚เช•เชจ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เช˜เชฃเซ€ เช•เซเชตเซ‡เชฐเซ€เช เช†เชชเซ€เชถ (เชคเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฆเชฐเซ‡เช• เชเซ‹เชจเชฎเชพเช‚ เช•เชฐเชตเชพเชจเซ€ เชญเชฒเชพเชฎเชฃ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡: URL, ARGS, เชนเซ‡เชกเชฐเซเชธ เช…เชจเซ‡ เชฌเซ‹เชกเซ€):

')) 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 เช•เชพเชฏเชฆเซ‡เชธเชฐ เชตเชฟเชจเช‚เชคเซ€เช“เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเซ€ เชฐเชนเซเชฏเซเช‚ เชจเชฅเซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹