Hej :),
Odnośnie wpisu
@Thanos z piątku -
https://www.lurker.pl/post/i3pP9PUPR, chciałbym Wam w ramach ciekawostki opisać co znalazłem na Lurkerze, jaki ten typ błędu niesie z sobą konsekwencje, oraz jak go znalazłem. Jeśli jesteś osobą nietechniczną - myślę że tag
#hacking przykuje uwagę, a osoby z
#IT zapraszam na mini writeup jak doszedłem do błedu.
Zaczynając od tego co znalazłem - był do błąd Cross Site Scripting, w skrócie XSS. W praktyce oznacza to wstryknięcie na strone dowolnego kodu Javascript. Niesie to za sobą wiele różnych możliwości (a dla użytkownika końcowego takiego jak Ty - konsewencje :P).
Wyobraź sobie że wchodzisz na mikroblog Lurkera. Pewien haker dodał specjalnie przygotowany komentarz który sprawia że Twoja przeglądarka zaczyna kopać kryptowaluty. Albo po wejściu na mikroblog przejmuje Twoje konto. Albo atakuje przeglądarkę i przejmuje całą kontrolę nad komputerem. Gdyby taki błąd został znaleziony w systemie bankowym, istniała by szansa że straciłbyś wszystkie swoje pieniądze (skrajny przypadek z wielu względów, ale jak najbardziej możliwy)
Ciekawostka: duże firmy jak Facebook czy Google płacą za znalezienie takich błędów, ostatnio mignął mi nagłówek że Fb zapłaciło 20 000$ za tego typu błąd!
Jak widzisz, niesie to za sobą poważne konsewencje dla użytkowników końcowych, dlatego poszedł emergency patch w piątek w wieczór.
A jak ten film to pokazuje, mało kto tak robi
https://www.youtube.com/watch?v=R0WFk52dusw
Postaram się teraz opisać jak ten błąd znalazłem.
Lurker oferuje możliwość dodawania komentarzy, a w nich różnych tagów bb-code. Podczas oglądania tagu [image] do wrzucania obrazków zastanawiałem się co ja mam tam wkleić? URL do obrazka? A może sam obrazek zakodowany w base64? Wybrałem tą drugą opcje:

I obrazek się załadował:

Dalej, dla uproszczenia postanowiłem skrócić dane (tutaj na screenie zmienił sie mimetype, ale w image/jpeg było dokładnie ten sam efekt)

W rezultacie dostaliśmy pusty post, bez żadnej treści. Uznałem to za interesujące.

Dalej, postanowiłem trochę pofuzować zobaczyć co się stanie. Dodałem ">" na koniec ciągu znaków.

Co dało wynik:

Widząc tą ikonke wiedziałem że jestem na dobrej drodze i XSS jest możliwy.
Szybka inspekcja w źródło pokazała takie coś:

Z tą wiedzą jesteśmy w stanie przygotować pełnoprawny, działający payload XSS.

Co daje taki spreparowany "obrazek"?

Nic innego jak XSSa

Tutaj widzicie tylko niewinne okienko, ale uwierzcie, można z tym robić cuda

Jescze tylko screen źródła dla ciekwych:

I to w sumie tyle

Dajcie znać czy coś zrozumieiście, bo czasami mam wrażenie że wszystko chaotycznie opisuje

A w razie pytań - pytajcie
Na sam koniec - szacuneczek dla
@Thanos za szybką reakcję i ogarnięcie tematu (w piątek wieczorem!)