Oto jeden z moich klientów, który wykonuje pewne czynności po zalogowaniu się na swoje konto. Unikalny token to po prostu zaszyfrowany identyfikator użytkownika + znacznik czasu.
94.254.xxx.xxx - - [02 / lip / 2011: 22: 25: 46 +0200] „GET / some-action / unique-token-123abc HTTP / 1.1„ 200 410 ”-„ ”Mozilla / 5.0 (kompatybilny; MSIE 9.0; Windows NT 6.1; Trident / 5.0) ”
Teraz Googlebot w jakiś sposób dowiedział się o tym unikalnym linku i próbował uzyskać dostęp do tego samego adresu URL tydzień później.
66.249.71.179 - - [10 / lip / 2011: 09: 56: 01 +0200] „GET / some-action / unique-token-123abc HTTP / 1.1” 302 - ”-” „Mozilla / 5.0 (kompatybilny; Googlebot / 2.1; + http: //www.google.com/bot.html) „
(kod stanu to 302, ponieważ token wygasł)
Podkreślę, że jest to unikalny adres URL, który był widoczny dokładnie raz, tylko przez 2 sekundy, zanim użytkownik kliknął go i zaczął odwiedzać tę stronę. Nie został wysłany w wiadomości e-mail ani opublikowany nigdzie publicznie.
Co się tutaj dzieje, jak to możliwe, że Google znalazł ten unikalny adres URL?
źródło
Właśnie zdałem sobie sprawę, że użytkownik musiał znaleźć link wychodzący na tej uwierzytelnionej stronie, a następnie wyciekł z prywatnego adresu URL, tak jak
Referer
podczas klikania innej witryny. To jedyne możliwe wytłumaczenie i powinno być naprawdę oczywiste od samego początku.Po wycieku prywatny adres URL mógł zostać ujawniony Google na wiele sposobów, np. Witryna docelowa mogła opublikować swoje dzienniki dostępu publicznie. Uwaga: żaden z linków wychodzących nie korzystał z Google Analytics, więc nie oznacza to, że Googlebot używa adresów URL stron odsyłających z Analytics.
Ponowna lekcja: nigdy nie umieszczaj poufnych danych w adresach URL, chyba że użyjesz protokołu https, w którym to przypadku przeglądarka pozostanie
Referer
pusta.źródło