Dane osobowe i podróże tysięcy klientów LeoExpress były dostępne w sieci

dodał 23 czerwca 2018 o 07:46 w kategorii Wpadki  z tagami:
Dane osobowe i podróże tysięcy klientów LeoExpress były dostępne w sieci

W tej historii jest wszystko, czego można oczekiwać po dobrym CSI:Cyber. Niewalidowane tokeny, iteracja po przewidywalnym ID, dane produkcyjne na serwerze testowym, a nawet zawoalowane groźby firmy, której problemy dotyczyły.

Pamiętacie, jak nasz Czytelnik Kamil znalazł dane pół miliona zamówień klientów sklepów internetowych? Kamil najwyraźniej jest trudnym klientem, ponieważ w kolejnej firmie, z której usług korzystał, znalazł dość istotne błędy bezpieczeństwa. Tym razem chodzi o popularną, szczególnie na południu Polski, firmę transportową LeoExpress.

Dociekliwy klient

LeoExpress oferuje klientom indywidualnym przejazdy autobusowe i kolejowe, co wymaga prowadzenia serwisu WWW i utrzymywania profili klientów. Kamil też miał profil, a z okazji zamieszania z RODO postanowił sprawdzić, jakie dane podał firmie. Kiedy jednak sprawdzał swoje dane, zerknął do narzędzi deweloperskich i zobaczył, że aby pobrać jego dane do serwera, wysyłane jest pytanie:

W zapytaniu przesyłany był jego adres e-mail oraz token.

W odpowiedzi widział takie dane, jak imię, nazwisko, adres zamieszkania, numer telefonu oraz dodatkowe informacje o podróżach pasażera. Ale nie ma się o co martwić, przecież na pewno token jest walidowany i nie można pytać o cudze dane, prawda? Prawda?! Niestety nie. Okazało się, że zapytać można o dowolny istniejący w bazie adres e-mail i otrzymać dane użytkownika.

Problem jest, ale nieduży – bo skąd brać adresy e-mail klientów LeoExpress? W Google jest ich niewiele. Kamil problem zgłosił i w odpowiedzi dostał adresy e-mail dwóch pracowników firmy, która system tworzyła. Z ciekawości wpisał je w Google… Tu oddamy głos Kamilowi, bo sami tego lepiej nie ujmiemy:

Przerwa na szybkie pytanie!

Tip: do odpowiedzi na t0 pytanie wymagane jest nielogiczne myślenie poparte złymi praktykami programistycznymi.

Jeśli na serwerze produkcyjnym (czyli takim, z którego korzystają użytkownicy LeoExpress) znajduje się baza danych produkcyjna, to na serwerze testowym (czyli takim, z którego korzystają ich programiści w celach sprawdzenia poprawnego działania aplikacji) znajduje się baza danych:

  1. produkcyjna
  2. produkcyjna
  3. produkcyjna
  4. produkcyjna

Szukając adresu e-mail pracownika firmy tworzącej serwis WWW Kamil znalazł w Google takiego oto linka:

Kiedy w miejsce ID zamówienia wpisał numer swojego starego zamówienia, odnalazł swój stary bilet. Zatem na publicznie dostępnym serwerze testowym leżała sobie baza produkcyjna. Co więcej, do pewnego momentu identyfikatory były kolejnymi liczbami całkowitymi. Obecnie są dużo dłuższe i choć nadal są liczbami całkowitymi, to wygląda na to, że jest je trudniej odgadnąć. Co nie zmienia faktu, że dla tysięcy klientów w momencie odkrycia błędu identyfikatory były przewidywalne i umożliwiały między innymi pobranie adresu e-mail klienta.

Do czego można taki adres wykorzystać? A czytaliście pierwszą część artykułu?

Reakcja początkowo przyzwoita, ale potem…

Kamil oczywiście zgłosił wszystkie odkryte problemy i zostały one usunięte – część szybko, część chwilę później. Kiedy jednak powiadomił firmę o planowanej publikacji artykułu na temat odkrytych błędów, od szefa działu finansów usłyszał:

Proszę upewnij się, że nie wspomnisz o nazwie firmy, gdyż będzie to duża czerwona flaga dla naszych prawników.

Mamy nadzieję, że prawnicy LeoExpress znają powszechne znaczenie czerwonej flagi i oznacza to, że powstrzymają ewentualne działania wobec Kamila, który bezinteresownie pomógł im zidentyfikować bardzo poważne podatności w systemach produkcyjnych. Przy okazji przeczytajcie oryginalny wpis Kamila – ma chłopak talent.