wordpress

Wyciek danych osobowych przez sitemapę w WordPress

Sitemapa to plik w formacie XML zawierający zbiór wszystkich adresów URL dostępnych w danym serwisie WWW. Zadaniem sitemapy jest ułatwienie wyszukiwarkom zaindeksowania strony i upewnienie się, że żadna jej zawartość, która np. została pominięta w strukturze menu nie zostanie przeoczona przez boty indeksujące. Więcej na temat tego mechanizmu można przeczytać na stronie sitemaps.org.

Już z tego krótkiego opisu można wnioskować, że z sitemapą wiąże się pewne zagrożenie. Jeśli np. stworzymy stronę albo część serwisu, której nie chcemy jeszcze upubliczniać, a znajdzie się ona w sitemapie to krótko po tym znajdzie się też w wyszukiwarkach. Ale nie to jest problemem, o którym dziś będzie mowa.

Skąd się bierze sitemapa?

Wiele popularnych systemów zarządzania treścią (CMS) tworzy ją automatycznie. Jednym z niewielu CMS-ów, który jeszcze do niedawna nie posiadał natywnej obsługi sitemap był WordPress. Można je było jednak generować przy użyciu dedykowanych wtyczek. Funkcjonalność tę posiadały od dawna np. popularne wtyczki Yoast SEO i Jetpack. W zależności od zastosowanej wtyczki mapa strony może się znajdować np. pod adresem /sitemap.xml , /sitemap_index.xml lub innym.

Wraz z wersją 5.5 WordPressa jego twórcy postanowili jednak to zmienić i wprowadzili automatyczne generowanie sitemapy. Od teraz świadomie lub nie, każdy właściciel serwisu zbudowanego w oparciu o WordPress posiada też sitemapę.

WordPress 5.5

Wygenerowana przez WordPressa mapa dostępna jest pod adresem /wp-sitemap.xml. Ma ona strukturę drzewiastą, co oznacza, że w powyższym pliku znajdziemy listę kolejnych map (może ich być aż 50 tys.). Wygląda to np. tak:

sitemapa WordPress
sitemapa WordPress

Każdy z odnośników w głównej mapie kieruje do kolejnej, w której znajdują się adresy stron określonego typu. W WordPressie są to domyślnie np. wpisy, strony, kategorie, tagi czy autorzy.

Jeżeli jednak korzystamy z wtyczek, które rozbudowują funkcjonalność naszego serwisu, to mogą się w nim oprócz standardowych znaleźć również inne rodzaje stron. Na przykład produkty w sklepie internetowym. I WordPress te dodatkowe typy wpisów również skataloguje tworząc dla nich dedykowaną mapę (chyba, że autor wtyczki zawczasu taką możliwość przewidział i zablokował).

Problematyczne mapy

Okazuje się, że wielu twórców wtyczek nie przewidziało jednak tego problemu, albo jeszcze nie zdążyli się zorientować jaka zmiana zaszła w WordPressie od wersji 5.5. I tak np. widoczna na obrazku powyżej w ostatniej pozycji sitemapa o nazwie wp-sitemap-users1.xml prezentuje się następująco:

wp-sitemap-users
wp-sitemap-users-1.xml

Zawiera ona listę wszystkich użytkowników zarejestrowanych w serwisie przez jedną z popularnych wtyczek. Nazwą użytkownika w zależności od wtyczki lub jej konfiguracji może być np. adres e-mail.

Google hacking

Mały research w wyszukiwarce Google z użyciem parametru „inurl” oraz zapytania np. wp-sitemap-users-2.xml pokazuje, że nietrudno znaleźć strony, gdzie w ten sposób wyciekają tysiące nazw użytkowników. Nawet jeżeli nie są to nazwy zdradzające dane osobowe, może to być duże ułatwienie dla intruzów próbujących np. łamać hasła metodą sprayingu.

Warto tutaj dodać, że pojedyncza sitemapa może zawierać maksymalnie 2 tys. wpisów. Jeśli więc widzimy gdzieś np. mapę wp-sitemap-users-1.xml zawierającą dużą ilość danych, to warto też sprawdzić wp-sitemap-users-2.xml, wp-sitemap-users-3.xml itd.

Jak to wyłączyć

Twórcy WordPressa nie dali niestety możliwości wyłączenia automatycznego generowania sitemapy z poziomu interfejsu. Możliwości są dwie:

  • Wtyczka „Disable WP Sitemaps”, jeśli nie boimy się instalować wtyczek, zwłaszcza niedawno powstałych
  • Dodanie w pliku functions.php aktywnego szablonu wpisu:

add_filter( 'wp_sitemaps_enabled', '__return_false' );

Więcej na temat możliwości zablokowanie tylko wybranych map i sposobu ich działania oraz obsługi przez deweloperów możecie znaleźć w tym artykule.

A jak już o WordPressie mowa, to rzućcie też okiem na nasz tekst pt.  jak zabezpieczyć bloga WordPress.


Zostaw e-mail aby otrzymać powiadomienia o nowościach oraz dostęp do wszystkich bonusowych materiałów przygotowanych wyłącznie dla subskrybentów.

Leave a Reply

Twój adres e-mail nie zostanie opublikowany.

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.