InPost XSS - błąd znaleziony na stronie wyszukiwania przesyłek
Szukam swojej paczki, znajduję XSS
W 2016 roku, pod koniec listopada zamawiałem z allegro prezenty na mikołajki.
Trochę się martwiłem, że nie dojdą na czas więc co kilka godzin sprawdzałem gdzie się znajdują i czy opuściły już magazyn.
Standardowo wszedłem na stronę wyszukiwania paczek InPosta, wpisałem numer paczki i sprawdziłem w jakim miejscu się znajduje.
Zamiast zainteresować się lokalizacją mojej paczki, moją uwagę przykuł adres url który wyglądał dość dziwnie (numer paczki zamieniłem na zera):
https://inpost.pl/pl/pomoc/znajdz-przesylke?package[0000000] Adres zawierał tablicę jako parametr. Miało to sens w przypadku gdy podaliśmy kilka zamówień w wyszukiwarce. Wtedy adres wyglądał tak
https://inpost.pl/pl/pomoc/znajdz-przesylke?package[0000000,0000001]
Tylko tak się po prostu nie robi :)
Sprawdziłem w źródle strony gdzie dokładnie ląduje ten parametr. Okazało się, że ląduje jako parametr tablicy w jakimś budowanym zapytaniu w JavaScripcie. Niestety, minęło tyle czasu że nie jestem Wam go w stanie pokazać.
Postanowiłem podmienić adres na coś ciekawszego. Wrzuciłem stary dobry skrypt, który testuje proste wywołanie XSS'a
https://inpost.pl/pl/pomoc/znajdz-przesylke?package[<script>alert('xss')</script>]
który od razu zadziałał - czyli w Chromie wyświetlił białą stronę ponieważ Chrome zablokował skrypt :) Niestety w przypadku Firefoxa (najnowsza wersja na tamten czas) już tak miło nie było, bo jak widać na załączonym poniżej filmiku - skrypt się wykonał!
Problem polegał na tym, że dane z parametru url nie były escapowane, znaki nie były zamienione na encje HTMLowe i skrypt był możliwy do wykonania.
Co to oznacza dla zwykłego Kowalskiego?
Wielu z nas korzysta z InPosta do nadawania/odbierania paczek, więc podesłanie komuś linka do zaufanej strony nie wzbudziłoby podejrzeń. Szczególnie do tak popularnej jak wyszukiwarka paczek.
Problem w tym, że gdyby Kowalski otworzył link, mógłbym wykonać dowolny kod w jego przeglądarce bez jego wiedzy. Ot co :)
Zgłoszenie
28 listopada zgłosiłem InPostowi informację o odnalezieniu luki. Odpowiedź na moją wiadomość otrzymałem dopiero 8 grudnia i przekazałem dokładne informacje nt. wywołania XSS.
Błąd został naprawiony po kilku dniach, a z tego co zauważyłem to po prostu zablokowali możliwość wprowadzenia parametru zawierającego znaki "></
W nagrodę za przekazanie informacji o błędzie otrzymałem 9 kodów na nadanie paczek o różnych gabarytach o wartości 100zł.
Leave InPost XSS - błąd znaleziony na stronie wyszukiwania przesyłek to:
Read more #polish posts
Best Posts From Kamil Zieliński
We have not curated any of kamilzielinski's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From Kamil Zieliński
- Publiczny dostęp do około miliona zamówień użytkowników serwisu Manning.com
- Jak ZnanyLekarz mógł przekierować użytkownika na dowolną, potencjalnie niebezpieczną stronę www?
- [CZ] Tentokrát se LeoExpress stalo víc veřejné než by mělo - veřejný přístup k jízdenkám a datům uživatelů
- Tym razem to LeoExpress się przejechało - czyli o publicznym dostępie do biletów i danych osobowych ich użytkowników
- InPost XSS - błąd znaleziony na stronie wyszukiwania przesyłek
- Jak zdobyłem 500tys. PDFów z danymi osobowymi klientów sexshopu, jubilera i 11 innych sklepów?