Proxy / WAF Protections Bypass
Kupitisha Sheria za ACL za Nginx kwa Kupotosha Jina la Njia
Mbinu kutoka kwa utafiti huu.
Mfano wa sheria ya Nginx:
Kuzuia Bypasses
Ili kuzuia kuzidi, Nginx hufanya upanuzi wa njia kabla ya kuikagua. Hata hivyo, ikiwa seva ya nyuma inafanya upanuzi tofauti (kuondoa herufi ambazo nginx haiondoi) inaweza kuwa inawezekana kuzidi ulinzi huu.
NodeJS - Express
Toleo la Nginx | Herufi za Kuzidi za Node.js |
1.22.0 |
|
1.21.6 |
|
1.20.2 |
|
1.18.0 |
|
1.16.1 |
|
Flask
Toleo la Nginx | Herufi za Kuzidi za Flask |
1.22.0 |
|
1.21.6 |
|
1.20.2 |
|
1.18.0 |
|
1.16.1 |
|
Spring Boot
Toleo la Nginx | Herufi za Kuzidi za Spring Boot |
1.22.0 |
|
1.21.6 |
|
1.20.2 |
|
1.18.0 |
|
1.16.1 |
|
PHP-FPM
Mipangilio ya Nginx FPM:
Nginx imeboreshwa kuzuia ufikiaji wa /admin.php
lakini inawezekana kuidanganya kwa kufikia /admin.php/index.php
.
Jinsi ya kuzuia
Kudukua Sheria za Mod Security
Kuchanganyikiwa kwa Njia
Katika chapisho hili imeelezwa kuwa ModSecurity v3 (hadi 3.0.12), ilitekelezwa vibaya kwenye kipengele cha REQUEST_FILENAME
ambacho kilipaswa kuwa na njia iliyofikiwa (mpaka mwanzo wa vigezo). Hii ni kwa sababu ilifanya URL decode kupata njia.
Hivyo, ombi kama http://example.com/foo%3f';alert(1);foo=
katika mod security litadhani kuwa njia ni /foo
kwa sababu %3f
inabadilishwa kuwa ?
ikimaliza njia ya URL, lakini kwa kweli njia ambayo seva itapokea itakuwa /foo%3f';alert(1);foo=
.
Vipengele REQUEST_BASENAME
na PATH_INFO
pia vilikuwa vimeathiriwa na kosa hili.
Kitu kama hicho kilitokea katika toleo la 2 la Mod Security ambalo liliruhusu kudukua ulinzi uliokuwa unazuia mtumiaji kupata faili zenye viendelezi maalum vinavyohusiana na faili za nakala za akiba (kama vile .bak
) kwa kutuma tu dot URL iliyokodishwa katika %2e
, kwa mfano: https://example.com/backup%2ebak
.
Kudukua AWS WAF ACL
Kichwa Kilichoharibika
Utafiti huu unataja kuwa ilikuwa inawezekana kudukua sheria za AWS WAF zilizotumika kwenye vichwa vya HTTP kwa kutuma kichwa "kilichoharibika" ambacho hakikuwa kimechambuliwa ipasavyo na AWS lakini kilikuwa na seva ya nyuma.
Kwa mfano, kutuma ombi lifuatalo lenye sindano ya SQL kwenye kichwa X-Query:
Ilionekana kuwa inawezekana kudukua AWS WAF kwa sababu haingeweza kuelewa kuwa mstari ufuatao ni sehemu ya thamani ya kichwa wakati server ya NODEJS ilifanya (hii ilisuluhishwa).
Marejeo
Last updated