Publiczny dostęp do około miliona zamówień użytkowników serwisu Manning.com

Kolejny piątek - kolejne przygody

Piątek wieczór (24.05.2019) - idealny czas na relaks i ciekawe rozpoczęcie weekendu. Usiadłem do komputera, wszedłem na YouTube i obejrzałem video z konferencji, które właśnie zostało udostępnione. Na koniec nagrania prelegent wspomniał o swojej odświeżonej edycji książki i kodzie rabatowym - rozpaliła się we mnie wewnętrzna cebula. Postanowiłem, że przewertuję ją sobie przez weekend bo szczerze mówiąc i tak nie miałem ciekawszych planów. Książkę można było zakupić na popularnej stronie wydawcy “manning.com”, który publikuje książki związane z IT (znane np. “[dowolna_technologia] in Action.”)

mainpage.png

(strona główna serwisu manning.com)

Zakup przebiegał normalnie do momentu, kiedy mogłem pobrać fakturę zawierającą detale dotyczące moich zakupów. Mając już doświadczenie z poprzednimi serwisami, w których faktury użytkowników wraz z ich danymi osobowymi leżały na wyciągnięcie ręki (Jak Kamil dane pół miliona zamówień klientów sklepów internetowych znalazł, Dane osobowe i podróże tysięcy klientów LeoExpress były dostępne w sieci), przy tym także byłem trochę bardziej wyczulony na jakieś dziwne rzeczy dziejące się na stronie. Tym razem moją uwagę zwrócił przycisk pozwalający przejść do widoku faktury. Zazwyczaj w takich przypadkach przycisk jest zwykłym linkiem i po najechaniu na niego na dole okna przeglądarki powinienem zobaczyć adres do którego prowadzi, ale z jakiegoś powodu przycisk zachowywał się inaczej. Chcąc znaleźć powód otworzyłem narzędzia developerskie w przeglądarce i zauważyłem, że tym przypadku był to przycisk, który wysyła formularz zawierający ID naszego zamówienia. Tak, ID. Inkrementowane. ZNOWU.

html.png

(narzędzia developerskie dostępne w Google Chrome)

Zmieniłem numer zamówienia na mniejszy, kliknąłem przycisk “view/print receipt” i moim oczom ukazała się faktura obcej osoby.

victim1.png

(zamówienie jednego z użytkowników)

Kontynuowałem odejmowanie losowych liczb i otrzymywałem kolejne faktury (powtórzyłem to kilka razy żeby sprawdzić, ile faktur jest dostępnych). Podobnie jak w przypadku wymienionych wcześniej sytuacji z publicznym dostępem do prywatnych danych, na stronie brakowało jakiegokolwiek sposobu autoryzacji dostępu do faktur, takiego jak logowanie czy unikalny klucz.

victim2.png

(zamówienie innego użytkownika)

Dane, które były dostępne w fakturach to:
1. imię
2. nazwisko
3. pełny adres (jeśli książka była zamówiona z dowozem lub płatność odbyła się poprzez PayPal, ponieważ serwis przepisuje adres z PayPala do zamówienia, nawet jeśli kupiliśmy wersję online)
4. email (ten z zamówienia oraz/lub z PayPala)
5. numer telefonu (w przypadku opcji z dowozem)
6. lista zakupów i ich koszt
7. kod rabatowy
8. 4 ostatnie cyfry karty płatniczej

Serwis udostępniał około miliona faktur. Jeśli w przeciągu ostatnich dwóch lat zakupiłeś książkę w ich serwisie, możesz założyć że twoje dane wyciekły do sieci (Wnioskuję z daty najstarszego dostępnego zamówienia. Starsze zamówienia nie były dostępne.)

Podjęte kroki

Zaraz po odkryciu i zweryfikowaniu problemu dokładnie poinformowałem Manning o znalezionej luce oraz zadałem kilka pytań:

1. Kiedy mogę spodziewać się naprawienia tej luki w ich aplikacji?
2. Czy powiadomicie swoich użytkowników, których dane mogły potencjalnie wyciec?
3. Od jak dawna luka istniała?

Odpowiedź otrzymałem we wtorek (28.05.2019 - 4 dni później. Pochwała za reakcję wliczając w to weekend i święto w USA) od CTO Manning.com. Zawierała ona informację o naprawieniu błędu, o tym że nie mogą mi udzielić odpowiedzi na w/w pytania, ponieważ nie jestem do tego upoważniony oraz że w sumie to zhackowałem ich stronę bez ich wiedzy i natychmiast mam zaprzestać szukania kolejnych dziur w systemie.

Zweryfikowałem naprawienie błędu próbując dostać się do swojej faktury i rzeczywiście - błąd został naprawiony i od teraz wejście na stronę z zamówieniem wymaga zalogowania się. Zastosowałem się do prośby, więc nie sprawdzałem czy da się to obejść w inny sposób.

H2
H3
H4
3 columns
2 columns
1 column
Join the conversation now
Logo
Center