← Wszystkie porady

Pliki PHP w katalogu uploads

Co to oznacza

Jeśli w katalogu wp-content/uploads/ Twojej strony WordPress znajdują się pliki z rozszerzeniem .php, masz potencjalny problem bezpieczeństwa. Ten katalog jest przeznaczony wyłącznie na media — obrazy, dokumenty PDF, filmy. Pliki PHP nie powinny się tam znajdować w żadnym normalnym scenariuszu. Sprawdź to poleceniem: find wp-content/uploads -name "*.php" -type f.

Obecność plików PHP w uploads to jeden z najczęstszych symptomów przejęcia strony WordPress.

Jakie jest ryzyko

  • Backdoor / webshell — to najczęstszy wektor. Atakujący wgrywa plik PHP przez podatną wtyczkę (np. formularz kontaktowy, builder stron, galeria) i uzyskuje zdalny dostęp do serwera. Katalog uploads jest wybierany celowo, bo ma uprawnienia do zapisu.
  • Trwały dostęp — backdoor w uploads przetrwa aktualizację WordPress, zmianę hasła a nawet reinstalację — bo uploads nie jest nadpisywany.
  • Eskalacja ataku — z poziomu webshella atakujący może: czytać wp-config.php, modyfikować bazę danych, infekować inne strony na serwerze, wysyłać spam, instalować cryptominery.
  • Ukrycie — pliki często mają niewinne nazwy (cache.php, wp-thumb.php, class-upload.php) lub są ukryte w głębokich podkatalogach.

Jak to naprawić

  1. Zidentyfikuj i usuń pliki — sprawdź każdy plik PHP w uploads:
    find wp-content/uploads -name "*.php" -type f
    
  2. Zablokuj wykonywanie PHP w uploads — nawet jeśli plik zostanie wgrany, serwer nie wykona go:
    # wp-content/uploads/.htaccess (Apache)
    <Files "*.php">
        Order Deny,Allow
        Deny from all
    </Files>
    
    Nginx:
    location ~* /uploads/.*\.php$ {
        deny all;
        return 403;
    }
    
  3. Znajdź źródło problemu — jeśli plik PHP pojawił się sam, oznacza to, że strona została skompromitowana. Sprawdź:
    • Logi dostępu serwera
    • Zainstalowane wtyczki pod kątem znanych podatności
    • Konta użytkowników (czy nie dodano nieautoryzowanych)
    • Pozostałe katalogi pod kątem dalszych infekcji
  4. Rozważ pełne skanowanie — jedno znalezione złośliwe oprogramowanie oznacza, że mogą być kolejne.