Czy foldery wtyczek powinny zawierać pusty plik index.php?

16

Sam WordPress w wp-contentfolderze zawiera pusty plik PHP, który wygląda tak.

<?php
// Silence is golden.
?>

Czy wtyczki powinny zawierać również taki pusty plik, aby zatrzymać przeglądanie zawartości katalogu? Co z dodatkowymi folderami w motywach - jak includeskatalog?

chrisguitarguy
źródło
1
tak, to chyba dobry pomysł. Nigdy nie rozumiałem, dlaczego WP nie ma Options –Indexesw pakiecie htaccess, więc te pliki nie byłyby konieczne ...
onetrickpony

Odpowiedzi:

17

Nie powinny. Jeśli wtyczka ma luki tylko dlatego, że ktoś może zobaczyć jej strukturę katalogów, jest zepsuta. Te błędy powinny zostać naprawione.
Bezpieczeństwo przez zaciemnienie jest błędem samo w sobie.

Właściciel witryny może zezwolić lub zabronić przeglądania katalogu.

Drugim problemem jest wydajność: WordPress skanuje wszystkie pliki PHP w katalogu głównym wtyczki, aby znaleźć nagłówki wtyczek. To pozwala mieć wiele wtyczek w tym samym katalogu, np /wp-content/plugins/wpse-examples/.

Oznacza to również, że nieużywane pliki PHP w tym katalogu marnują czas i pamięć, gdy WordPress szuka wtyczek. Jeden plik nie zaszkodzi, ale wyobraź sobie, że jest to powszechna praktyka. Tworzysz prawdziwy problem, próbując naprawić fikcję.

fuxia
źródło
2
„To właściciel witryny może zezwolić na przeglądanie katalogu lub zabronić go.” To prawdopodobnie kluczowy punkt.
chrisguitarguy
a moje główne pytanie brzmi: dlaczego nie główne pliki wtyczek nie są zapisane index.php? to może być optymalne obejście
T.Todua
10

Powiem TAK. Bezpieczeństwo przez zaciemnienie działa, jeśli jesteś bardziej niejasny niż twoi sąsiedzi :) (żartuje, ale jest w tym trochę prawdy).

Rzeczywistość jest taka, że ​​boty / skanery kompilują teraz listy wtyczek bezpośrednio z wordpress.org i bezpośrednio indeksują adresy wtyczek, pobierając odciski palców dla znanych exploitów i przechowując informacje w bazie danych w celach informacyjnych.

Więc który wolisz, bot nie może zebrać informacji o instalacji lub pozostawić autorowi wtyczki, aby upewnić się, że jesteś bezpieczny. Co powiesz na oba.

ps. Na marginesie odnotowano w ubiegłym roku 186 exploitów z wtyczek wordpress.org (* zgłoszono ..).

Wyck
źródło
1
Skanery exploitów nie sprawdzają, czy wtyczka istnieje. Próbują uruchomić exploita podczas pierwszego żądania. Pusta index.phpniczego nie ochroni, po prostu uzyskasz fałszywe poczucie bezpieczeństwa.
fuxia
Ale robią to, wp-scan (jeden z wielu) odcisków palców, na przykład ponad 2200 wtyczek, i używa przyzwoitego odcisku palca do wykrywania wersji (rozmiar pliku, dodatki do pliku itp.).
Wyck
Oczyściłem dziesiątki zhakowanych witryn WordPress. Niemal zawsze pierwsza prośba była prawdziwym atakiem. Jest to po prostu uzasadnione: po co marnować czas na szczegółowe skanowanie, jeśli można przetestować lukę w pierwszym żądaniu? Śledź swoje 404, aby je zobaczyć. :)
fuxia
1
Zgadzam się, że to powinien być użytkownik końcowy, a nie autor. Ale nie sądzę, że to boli. Chciałem tylko dodać kontrapunkt, ponieważ powiedziałeś „nie”.
Wyck
1
oznaczono ten jako zaakceptowany z powodu debaty na temat komentarzy!
chrisguitarguy
1

Ponieważ robi to rdzeń WordPress, wtyczki mają sens. Chociaż wszystko to można zabezpieczyć za pomocą różnych ustawień po stronie serwera, nie szkodzi, że ma wartość domyślną (prawdopodobnie dlatego, że robi to rdzeń WordPress).

BFTrick
źródło
0

Jak wskazał Fuxia, wadą wydajności jest dodatkowy .phpplik, który WordPress skanuje w poszukiwaniu wtyczek. Naindex.htmlBędzie prawdopodobnie lepszym rozwiązaniem. Oczywiście najlepszą opcją byłoby zabronienie przeglądania katalogu przez serwer WWW.

Ponadto bezpieczeństwo przez zaciemnienie nie jest dobre.

Alex H.
źródło