6.7 KiB
Proxy / WAF Beskermingsomleiding
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS Familie, ons versameling eksklusiewe NFTs
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Bypass Nginx ACL-reëls met Padnaammanipulasie
Tegnieke van hierdie navorsing.
Nginx-reëlvoorbeeld:
location = /admin {
deny all;
}
location = /admin/ {
deny all;
}
NodeJS - Express
Nginx Weergawe | Node.js Omgang Karakters |
---|---|
1.22.0 | \xA0 |
1.21.6 | \xA0 |
1.20.2 | \xA0 , \x09 , \x0C |
1.18.0 | \xA0 , \x09 , \x0C |
1.16.1 | \xA0 , \x09 , \x0C |
Flask
Nginx Weergawe | Flask Omgang Karakters |
---|---|
1.22.0 | \x85 , \xA0 |
1.21.6 | \x85 , \xA0 |
1.20.2 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.18.0 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
1.16.1 | \x85 , \xA0 , \x1F , \x1E , \x1D , \x1C , \x0C , \x0B |
Spring Boot
Nginx Weergawe | Spring Boot Omgang Karakters |
---|---|
1.22.0 | ; |
1.21.6 | ; |
1.20.2 | \x09 , ; |
1.18.0 | \x09 , ; |
1.16.1 | \x09 , ; |
PHP-FPM
Nginx FPM konfigurasie:
location = /admin.php {
deny all;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
}
Hoe om te voorkom
Nginx is ingestel om toegang tot /admin.php
te blokkeer, maar dit is moontlik om dit te omseil deur toegang tot /admin.php/index.php
te verkry.
location ~* ^/admin {
deny all;
}
Bypass Mod Security Reëls
Pad Verwarring
In hierdie pos word verduidelik dat ModSecurity v3 (tot 3.0.12), die REQUEST_FILENAME
veranderlik verkeerd geïmplementeer het wat veronderstel was om die benaderde pad te bevat (tot by die begin van die parameters). Dit het 'n URL-dekode uitgevoer om die pad te kry.
Daarom sal 'n versoek soos http://example.com/foo%3f';alert(1);foo=
in mod security aanneem dat die pad net /foo
is omdat %3f
in ?
omskep word wat die URL-pad beëindig, maar eintlik sal die pad wat 'n bediener ontvang /foo%3f';alert(1);foo=
wees.
Die veranderlikes REQUEST_BASENAME
en PATH_INFO
was ook deur hierdie fout geraak.
Iets soortgelyks het in weergawe 2 van Mod Security gebeur wat dit moontlik gemaak het om 'n beskerming te omseil wat voorkom dat 'n gebruiker lêers met spesifieke uitbreidings wat verband hou met rugsteunlêers (soos .bak
) toegang kry deur eenvoudig die punt URL-gekodeer in %2e
te stuur, byvoorbeeld: https://example.com/backup%2ebak
.
Bypass AWS WAF ACL
Misvormde Kopteks
Hierdie navorsing noem dat dit moontlik was om AWS WAF-reëls wat oor HTTP-koptekste toegepas is, te omseil deur 'n "misvormde" kopteks te stuur wat nie behoorlik deur AWS gepars is nie, maar wel deur die agterserver.
Byvoorbeeld, deur die volgende versoek met 'n SQL-inspuiting in die kopteks X-Query te stuur:
GET / HTTP/1.1\r\n
Host: target.com\r\n
X-Query: Value\r\n
\t' or '1'='1' -- \r\n
Connection: close\r\n
\r\n
Dit was moontlik om AWS WAF te omseil omdat dit nie verstaan het dat die volgende lyn deel is van die waarde van die kopstuk nie, terwyl die NODEJS-bediener dit wel gedoen het (dit is reggestel).
Verwysings
- https://rafa.hashnode.dev/exploiting-http-parsers-inconsistencies
- https://blog.sicuranext.com/modsecurity-path-confusion-bugs-bypass/
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!
Ander maniere om HackTricks te ondersteun:
- As jy wil sien dat jou maatskappy geadverteer word in HackTricks of HackTricks aflaai in PDF-formaat Kyk na die INSKRYWINGSPLANNE!
- Kry die amptelike PEASS & HackTricks swag
- Ontdek Die PEASS-familie, ons versameling eksklusiewe NFT's
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @carlospolopm.
- Deel jou haktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.