15:15
4/7/2010

XSS w YouTube

Napisaliśmy już tym dzisiaj na Blipie, ale ponieważ zalewacie naszą skrzynkę kolejnymi doniesieniami na temat tego błędu XSS w YouTube, zdecydowaliśmy, że poświęcimy mu osobny post :-)

XSS na YouTube

Do zilustrowania błedu HTML Injection/Persistent XSS posłużymy się jednym z videoclipów umieszczonych na YouTube:

XSS na YouTube.com -- wstrzyknięcie marquee

Wstrzyknięty powyżej kod, który odpala markizę jest następującej postaci:
<script><script>IF_HTML_FUNCTION<wbr>?<h1>
<marquee><font color="red"><u>LOL What a faggot! HAHAHAAA!<script>

Funkcja filtrująca, z której korzysta YouTube poprawnie zamienia na encje (np. &lt;) tylko pierwsze wystąpienie tagu <script>, ale drugie wystąpienie tagu <script nie jest już normalizowane i wszstyko co po nim się znajduje zostanie na stałe dodane do strony z filmikiem. Dodanie kodu JavaScript jest możliwe poprzez podpięcie się pod zdarzenia np. <BODY OnLoad=”kod JS”>.

Link do przykładowego zainfekowanego video tutaj — ale uwaga, kliknięcie w niego za sekundę, może spowodować odpalenie złośliwego XSS-a (dodanego w komentarzu przez kolejnego użytkownika). Aby uchronić swoje ciasteczka przed kradzieżą, warto się wylogować przed kliknięciem :>

Błąd nie został jeszcze załatany, a Google chyba będzie miało nie lada problem, bo na YouTube “zainfekowane” są już wszystkie popularniejsze wideoklipy i zrobił się niezły burdel…

Aktualizacja 15:34
Za akcją masowego XSS-owania YouTube stoi najprawdopodobniej 4chan.org.

Post na 4chan.org zaczynający mass xss na YouTube

Aktualizacja 15:57
Google ciekawie (i szybko, bo po ~2h) zareagowało na XSS-a, ukrywając komentarze do klipów.

Reakcja YouTube'a na XSS-y w komentarzach

Teraz zamiast komentarzy pojawia się tekst:

Safety mode has hidden comments for this video. Show hidden comments

Wyświetlenie ukrytych komentarzy dalej jednak powoduje uruchomienie skryptów… Zapewne Google pracuje obecnie nad odfiltrowaniem wszystkich wstrzyknięć i niebawem całkowicie usunie błąd. W międzyczasie, zobaczcie filmiki demonstrujące atak:

Aktualizacja 22:59
Google usunęło wszystkie wystąpienia “script”. Game Over. Możecie wrócić do oglądania wykładu o filtrowaniu pakietów TCP/IP ;-)

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

36 komentarzy

Dodaj komentarz
  1. Rozprzestrzenia się gorzej niż świńska grypa, teraz strona z tamtym video jest zasłonięta przez marquee z position:absolute; xD Oj dzieje się dzieje.. D:

  2. No i mieliście rację – już ktoś postanowił lekko zmodyfikować ‘zawartość’ odnośnika…

  3. No i teraz trwa piękny FLAME na kolejne komentarze wykorzystujące ten błąd :D

  4. Ale ostro jadą ;d Każdy po komentarzu i nizły bajzel się zrobił :P A tak btw wpisanie w komentarz powoduje chyba nieładowanie reszty strony ;]

  5. Co link to gorzej. Czy Google coś z tym robi w ogóle?!
    Link do ostatniego video iJustine został ochydnie zhackowany (+18) http://www.youtube.com/watch?v=BHqdI5J7NXU&feature=popt00us11
    O_o

  6. A teraz przenoszą na strony porno …

  7. Najprawdopodobniej? Ktoś dał na /b/ instrukcje jak coś tam wstrzyknąć i po prostu masa /b/tardów się z tym rzuciła. Być może nawet ktoś tam to wrzucił pod wpływem waszego wpisu ;]

  8. ciastka, ciastkami, ale malware zadziała też na niezalogowanych :>

  9. Już chyba od minuty załatany jest ten XSS, więc tytuł newsa można już zmienić

    • @Cyprian: Od 2 minut xss PRAWIE załatany, od minuty tytuł zmieniony. To się nazywa szybka reakcja, nie? :)

  10. Nie chyba, tylko tak, 4chan stoi za tym
    http://img693.imageshack.us/img693/4967/brandom1278246362366.png

  11. Już coś robią, włącza się tryb bezpieczny :)

  12. @Piotr “Wyświetlenie ukrytych komentarzy nie powoduje uruchomienia skryptów”
    Jesteś pewien ;)?

  13. jak to załatany? wprowadzono na razie “tryb bezpieczny” ale jak się kliknie “pokaż komentarze” to dalej to samo…

  14. Tak, potwierdzam – kliknięcie na “pokaż komentarze” w dalszym ciągu je wyświetla, choć nie w każdym przypadku.

  15. Spokojnie, na pewno za chwile uloza odpowiedniego regexpa odsiewajacego wstrzykniecia i puszcza go na produkcji ;)

  16. Na 4chanie mówią, że wciąż dziala XSS na profilach i w tytułach/opisach filmów.

  17. Juz chyba poprawione

  18. naprawili :)

  19. Już chyba załatali :)
    http://www.youtube.com/watch?v=epeQwq-aYV0
    3 komentarz

  20. Tak psioczą niektórzy na google, a microsoft z łatką czekałby do drugiego wtorku miesiąca. :P

    Przejrzałem kilka stron z komentarzami na yt i wygląda na to, że po prostu wykosili regexpem, “script”. W niemal każdym komentarzu pozostał “IF_HTML_FUNCTION?”.

  21. a mógłby ktoś wytłumaczyć lub zarzucić linka do wytłumaczenia o co chodzi z tym “IF_HTML_FUNCTION”? Niestety, próby odpytania google o to kończą się znalezieniem podobnych do tego wpisów na róznych stronach/forach itp. Niestety, tam też nie mogę znaleźć wytłumaczenia tego zjawiska

  22. Kto mi powie co robi i od czego jest to “IF_HTML_FUNCTION”?

    • If_html_function nie jest do niczego potrzebna, a jej obecność w każdym payloadzie można wytłumaczyć tym, że pojawiła się w pierwszym przykładzie opisujacym atak, ktorego kod był kopiowany przez tych, którzy go nie rozumieja, ale wiedza ze rozwala YouTube ;)

  23. Pracuję przy filmikach i znikło kilka kont subskrybowanych przeze mnie. Ludzie psioczą, że ktoś im pokasował konta. Prawdopodobnie coś w stylu przechwycenia sesji i usunięcia kont wraz z klipami. Ciekawe czy uda się to odkręcić?

    • Bartko: to mozliwe Bo wystarczylo tylko przeslac podwojny script a za nim dowolny HTML — aby uzyskać js (wykrasc sesje, skadowac konto, przekierowac na inna stronę) można było podpiac się do zdarzeń np BODY onload=

  24. Ta sytuacja jest doskonałym przykładem na to, że oczyszczanie HTML jest trudne. Zwłaszcza wówczas, gdy jakiś jego podzbiór jest dostępny. Tu do celów edukacyjnych dobrze wpisuje się przykład, który kiedyś udostępniłem: http://threats.pl/bezpieczenstwo-aplikacji-internetowych/oczyszczanie-html-jest-trudne

    Z okazji tego XSS w Youtube zebrałem się w końcu w sobie i udostępniłem też nadesłane odpowiedzi oraz kod parsera wykorzystanego w przykładzie.

  25. Zgaduję, że jest to jakaś wewnętrzna funkcja(?)

  26. […] z ciekawego zbiegu okoliczności, czyli XSS w YouTube, zebrałem się w końcu w sobie i udostępniłem rozwiązania konkursu przygotowanego przeze mnie […]

  27. @up: Do niczego, ktoś tak napisał (zapewne na 4chanie) i reszta podłapała. Tutaj małe info: http://www.reddit.com/r/programming/comments/cluc5/html_injection_vulnerability_in_youtube_comments/c0thpoo

  28. Ale wtopa. Mam coraz gorsze mniemanie o programistach, którzy tam pracują.

    • CHIP trochę spłycił… no ale CHIP jest kierowany do miłosników Biebera więc pewnie dobrze trafia w target ;)

  29. IF_HTML_FUNCTION?
    tak sprawdzam ;p

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: