Hushfort

Jak sprawdzić, co ujawnia moja witryna WordPress?

Autor: Eureka Studio · Zaktualizowano

Krótka odpowiedź

Przetestuj witrynę z zewnątrz prawdziwymi żądaniami, jako niezalogowany: otwórz /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 i /wp-sitemap-users-1.xml. Każdy z tych adresów pokazuje, czy drzwi logowania są otwarte albo czy wycieka nazwa użytkownika. Możesz to zrobić w przeglądarce lub przez curl albo zlecić to wtyczce skanującej, która wskaże, co znalazła.

Kroki

  1. 1Krok 1

    Otwórz okno prywatne lub terminal

    Testuj jako obcy, a nie jako Ty. Zalogowani widzą więcej niż publiczność, więc zawsze sprawdzaj jako niezalogowany.

    Pięć żądań, które wysłałby bot
    curl -sI https://yoursite.com/wp-login.phpcurl -s  https://yoursite.com/xmlrpc.phpcurl -s  https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml
  2. 2Krok 2

    Sprawdź drzwi logowania

    Jeśli wp-login.php pokazuje formularz logowania, domyślne logowanie jest publiczne. Jeśli xmlrpc.php odpowiada „accepts POST requests only”, otwarte są też drugie drzwi logowania.

    yoursite.com/xmlrpc.php odpowiada: XML-RPC server accepts POST requests only
  3. 3Krok 3

    Sprawdź, czy wyciekają nazwy użytkowników

    Lista JSON z /wp/v2/users, przekierowanie z ?author=1 na /author/nazwa/ albo mapa witryny z użytkownikami — każde z nich ujawnia loginy.

    Publiczna lista użytkowników REST pokazująca login demo-admin
  4. 4Krok 4

    Uruchom Skan powierzchni ataku, by zobaczyć pełny obraz

    W Hushfort otwórz Przegląd i kliknij Skanuj ponownie w sekcji Skan powierzchni ataku. Skan wysyła prawdziwe żądania do Twojej witryny i wymienia każdą znalezioną nazwę użytkownika.

    Skan powierzchni ataku z 3 otwartymi punktami: XML-RPC otwarte, lista użytkowników REST i skanowanie autorów ujawniają demo-admin
  5. 5Krok 5

    Zamknij to, co znalazłeś, i przeskanuj ponownie

    Włącz Redukcję powierzchni ataku i kliknij Skanuj ponownie. Drzwi, które były czerwone, mają teraz zielony znacznik; to, co zostało, jest oznaczone jako Uwaga wraz z sugerowaną poprawką.

    Skan powierzchni ataku po włączeniu Redukcji powierzchni ataku: XML-RPC, lista użytkowników REST, skanowanie autorów i lista autorów w mapie witryny zamknięte

Dlaczego to ważne

Większość porad bezpieczeństwa dotyczy przełączników: włącz to, wyłącz tamto. Ale przełącznik mówi, o co prosiłeś, a nie co się stało. Warstwa cache może serwować starą odpowiedź. Reguła CDN może zablokować plik, zanim WordPress w ogóle zobaczy żądanie. Jedna wtyczka może ponownie otworzyć coś, co zamknęła inna. Jedyna uczciwa odpowiedź na pytanie „co ujawnia moja witryna?” to zapytać ją tak, jak zrobiłby to obcy.

Dobra wiadomość: lista rzeczy, które warto sprawdzić po stronie logowania, jest krótka. Boty szukają tej samej garstki adresów na każdej witrynie WordPress:

Adres Co ujawnia, gdy jest otwarty
/wp-login.php, /wp-admin Domyślny formularz logowania
/xmlrpc.php Drugie drzwi logowania z masowym zgadywaniem przez system.multicall
/wp-json/wp/v2/users Listę autorów i ich slugi logowania
/?author=1 Przekierowanie na /author/login-name/
/wp-sitemap-users-1.xml Adresy archiwów autorów zawierające slugi logowania

Żaden z nich sam w sobie nie jest katastrofą. Razem dają botowi listę nazw i dwoje drzwi, na których może je wypróbować. Wiedząc, które są otwarte, możesz zamykać je we właściwej kolejności: najpierw drzwi, potem nazwy.

Częste błędy

  • Testowanie jako zalogowany. WordPress pokazuje zalogowanym więcej. Użyj okna prywatnego lub curl.
  • Testowanie strony z cache. Jeśli właśnie zmieniłeś ustawienie, najpierw wyczyść pamięć podręczną stron i CDN, inaczej zobaczysz starą odpowiedź.
  • Zatrzymanie się na pierwszym zielonym świetle. Zamknięcie formularza logowania przy otwartym XML-RPC to najczęstsza połowiczna poprawka, jaką widzimy.
  • Oczekiwanie pełnego audytu bezpieczeństwa. Te testy dotyczą dróg wejścia. Nic nie mówią o malware, zmianach plików ani nieaktualnych wtyczkach.

Bez wtyczki

Pięć poleceń curl z kroku 1 to metoda ręczna i warto ją znać. Wyniki czytaj tak:

  • HTTP/2 200 dla wp-login.php: domyślne logowanie jest publiczne. 404: jest ukryte.
  • XML-RPC server accepts POST requests only. z xmlrpc.php: endpoint działa. Aby sprawdzić, czy przyjmuje logowanie, trzeba wysłać wywołanie wp.getUsersBlogs z kontem testowym.
  • Tablica JSON z /wp/v2/users z polami "slug": nazwy użytkowników są publiczne. 401 lub pusta tablica: zamknięte.
  • Location: /author/name/ z ?author=1: wyciek. Powtórz z 2, 3 i kolejnymi, by zobaczyć, ilu użytkowników mógłby zebrać bot.
  • 200 dla mapy witryny z użytkownikami: adresy autorów są wymienione.

Wadą jest czas i interpretacja. Trzeba to powtarzać po każdej zmianie, a porządne przetestowanie logowania przez XML-RPC wymaga ręcznego składania XML.

Jeśli coś pójdzie nie tak

  • Skan pokazuje „otwarte”, choć to wyłączyłeś. Wyczyść pamięć podręczną stron i CDN i przeskanuj ponownie. Jeśli nadal jest otwarte, ustawienie może nadpisywać inna wtyczka lub reguła serwera.
  • Skan nie może dotrzeć do witryny. Niektórzy hostingodawcy blokują witrynie wysyłanie żądań do samej siebie (loopback). Poproś hosting o zezwolenie na żądania loopback albo użyj metody curl z zewnątrz.
  • Po wzmocnieniu nadal wycieka nazwa użytkownika. Sprawdź ramkę autora w motywie i mapę witryny autorów we wtyczce SEO. Zmień nazwę wyświetlaną autora, jeśli motyw ją pokazuje.

Z Hushfort

Skan powierzchni ataku jest dostępny bez opłat w Hushfort Security, darmowej wtyczce bezpieczeństwa WordPress.

Skan powierzchni ataku znajduje się w panelu Redukcja powierzchni ataku w Hushfort. Mierzy, co witryna faktycznie ujawnia, prawdziwymi żądaniami — tak jak metoda ręczna — i wymienia z nazwy znalezione nazwy użytkowników. Każde znalezisko odpowiada warstwie Hushfort, która je zamyka:

Zbudowaliśmy Skan powierzchni ataku po tym, jak sklep wciąż otrzymywał próby haseł przez XML-RPC, choć jego strona logowania była ukryta. Ustawienie wyglądało dobrze; dopiero prawdziwe żądanie pokazało otwarte drzwi.

Najczęstsze pytania

Czy skanowanie własnej witryny WordPress jest legalne?

Tak, wysyłanie zwykłych żądań do własnej witryny jest w porządku. Testuj tylko witryny, które należą do Ciebie lub na których testowanie masz zgodę.

Dlaczego testować prawdziwymi żądaniami zamiast czytać ustawienia?

Ustawienia mogą mówić jedno, a pamięć podręczna, reguła CDN, inna wtyczka lub motyw robią co innego. Prawdziwe żądanie pokazuje, co faktycznie dostaje odwiedzający.

Czy ten test wykrywa malware lub podatne wtyczki?

Nie. Sprawdza drzwi i wycieki nazw użytkowników. Skanowanie pod kątem malware i znanych podatności wymaga innego narzędzia; Hushfort tego nie robi.

Jak często sprawdzać?

Po instalacji lub usunięciu wtyczek, zmianie motywu, przenosinach na inny hosting lub zmianie reguł CDN. To momenty, w których ekspozycja po cichu się zmienia.

Zgłoś błąd lub zaproponuj funkcję

Twoja wiadomość trafia prosto do zespołu, który tworzy Hushfort.

Czego dotyczy?

Używany tylko do odpowiedzi.

Używamy tych danych wyłącznie, aby Ci odpowiedzieć. Prywatność