Logo David Burdelak
Słownik · Cyberbezpieczeństwo

Co to jest web shell?

Ostatnia aktualizacja:

Web shell to złośliwy skrypt (najczęściej PHP) umieszczony na serwerze WWW, który daje atakującemu zdalny dostęp: może przeglądać pliki, uruchamiać polecenia i zmieniać treść strony. Zwykle trafia na serwer przez lukę w aplikacji, np. w formularzu wgrywania plików.

Jak działa web shell?

Atakujący wgrywa plik, np. wp-content/uploads/plik.php, a następnie wywołuje go w przeglądarce. Skrypt przyjmuje polecenia przez parametry żądania i wykonuje je na serwerze. Często jest ukryty pod nazwą przypominającą plik systemowy i obfuskowany.

Jak wykryć web shell?

  • nowe lub zmienione pliki PHP w katalogach, w których ich być nie powinno (np. uploads),
  • funkcje typu eval, base64_decode, system i shell_exec w nietypowych miejscach,
  • nietypowe żądania w logach, np. dziwne parametry do plików w uploads,
  • skanery bezpieczeństwa i narzędzia kontroli integralności plików.

Jak zapobiegać?

Waliduj wgrywane pliki (typ, rozszerzenie, zawartość), przechowuj je poza katalogiem wykonywalnym lub wyłącz tam wykonywanie PHP, aktualizuj CMS i wtyczki oraz ogranicz uprawnienia zapisu. Po wykryciu web shella nie wystarczy usunąć pliku: trzeba znaleźć lukę, przez którą się dostał, i zmienić hasła.

Dobrą praktyką jest zakaz wykonywania skryptów w katalogu z uploadami.

Pliki o niedawnej dacie zmiany w katalogach z obrazami warto sprawdzić.

Złośliwy kod na zainfekowanej stronie często pokazuje robotom spam niewidoczny dla właściciela, co Google traktuje jak cloaking.

Zobacz w praktyce

Powiązane pojęcia

Wszystkie hasła z kategorii Cyberbezpieczeństwo