Luka w nginx+fastcgi pozwalające na zdalne wykonanie dowolnego kodu
Oryginalny post: klik
po „ingliszu”: klik
a po naszemu, jest możliwość wykonania dowolnego kodu php.
możliwy model ataku:
1) prowadzimy hosting obrazków/plików, jest możliwość uploadu plików ogólnie;
2) ktoś wgrywa plik, plik to obrazek.jpg (nazwa czy rozszerzenie nie istotne) z kodem php;
3) dowolne wywołanie bezpośrednie pliku http://domain.tld/pliki/obrazek.jpg/cosdowlnego.php spowoduje wykonanie spreparowanego pliku;
przykład podatnej konfiguracji:
-
location ~ \.php$ {
-
root html;
-
fastcgi_pass 127.0.0.1:9000;
-
fastcgi_index index.php;
-
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
-
include fastcgi_params;
-
}
która jest.. wszędzie, w każdym how to itp.
Możliwe formy zabezpieczenia się? Polecam lekturę: http://forum.nginx.org/read.php?2,88845. Można np dodać:
-
location ~ \..*/.*\.php$ {
-
return 403;
-
}
Komentarze
Zostaw komentarz