12:18
17/2/2010

Ataki XSS i CSRF w Google Buzz

Przy takim projekcie jak Google Buzz, nawet Google nie ustrzegło się błędów. Oto pierwsze ataki XSS i CSRF, które pozwala(ły) między innymi na wyciągnięcie informacji na temat dokładnej lokalizacji osób korzystających z Google Buzz.

XSS w Google Buzz

Znany “xssowiec” RSnake zauważa, że:

  • XSS znajduje się w domenie Google’a, a więc można wykorzystać go do phishingu i kradzieży ciastek
  • XSS jest po SSL/TLS, a więc w tym przypadku korzystanie z HTTPS, nie do końca zapewnia poufność danym, które przesyłasz do i pobierasz z serwerów Gooogle
  • Tego XSS-a można wykorzystać do przejęcia twojego konta Google Buzz
  • Dzięki temu XSS-owi każdy może poznać Twoją lokalizację.

RSnake dowcipnie dodaje “drżyjcie Chińscy dysydenci”, odnosząc się do niedawnego ataku na Google i słów Erica Schmita, że jeśli “masz coś do ukrycia, może w ogóle nie powinieneś był tego robić?”

Google łata szybko

Powyższy XSS, znaleziony przez TrainReq został szybko załatany. Obecnie skrypty dodawane w tym miejscu nie wykonują się, ale pokazywana jest ich treść:

XSS w Google Buzz przestaje działać. Walidacja została nałożona.

CSRF w Google Buzz

Pozostaje jeszcze kwestia poruszona przez Kristiana Hermansena, który dowiódł, że CSRF w Google Buzz (a raczej w funkcji logout samego GMaila) mimo, że niegroźny to potrafi podnieść ciśnienie.

Jeśli chcesz się o tym przekonać, wejdź na tą stronę, a zostaniesz wylogowany z GMaila ;-)

Wystarczy w GBuzz osadzić tag <img> z parametrem src=”https://mail.google.com/mail/?logout”.

Podsumowanie

Jak widać, błędy należą do podstawowych błędów popełnianych w webaplikacjach, a mimo wszystko wymknęły się doświadczonym programistom i testerom, jacy na pewno pracowali przy Google Buzz… Aż chciałoby się zapytać, jak to możliwe? :-)

Aktualizacja [17.02.2009 16:40]
Już wiemy, jak to możliwe.

Przeczytaj także:

5 komentarzy

Dodaj komentarz
  1. Google Buzz jest w pewnym sensie agregatorem treści z wielu źródeł. W takim przypadku chwilami trudno jest określić co jest jeszcze “dopuszczalne” w pobieranej treści, a co może być już niebezpieczne.

    Przy okazji – według mnie CSRF jest nie tyle w Buzz, co w samej funkcji wylogowania.

  2. No cóż zdarza się najlepszym:)

    Naszła mnie własnie myśl a propos ataków XSS. Nie wiem jak to wygląda w przypadku profesjonalnych testów penetracyjnych, ale domyślam się, że testowanie systemu metodą czarnej skrzynki, w większości przypadków sprowadza się do dostarczenia ładunku typu: alert(‘xss’) i sprawdzenia reakcji. Nic się nie dzieje więc pentester uważa, że wszystko jest OK. Jednak systemy mają to do siebie, że współpracjują ze sobą. Potrafie sobie wyobrazić sytację, w której upragniony komunikat ‘xss’ pojawia się, tyle że nie na badanej stronie, a w jej CMS’ie. Oczywiście nie stanowi to żadnego zagrożenia. No ale co w przypadku gdybyśmy użyli payloadu typu “call home”. Bardziej rozbudowny wariant mógłby przyjąć formę spidera, który przesyła na serwer zawartość kolejnych podstron. Przykład: moderator blokuje komentrz użytkownika, a w międzyczasie nasz spider na ślepo pobiera kolejne podstrony (może trafi na stronę z danymi innego użytkownika).

    Ot taka mała dygresja;)

  3. Przy okazji, właśnie trafiłem na artykuł, który opowiada o tym jak “testowano” Buzza: http://news.bbc.co.uk/2/hi/technology/8517613.stm — mam dziwne wrażenie, że Google’owi zależało na szybkim wypchnięciu tego produktu, zastanawiam się z kim się ścigali (Facebook i otwarcie XMPP?)

  4. Dorzuciliby małego nonce’a i po kłopocie… ;]

  5. Akurat logout jest moim zdaniem jedynym elementem, który nie powinien być (w typowej aplikacji) chroniony przed CSRF :)

Twój komentarz

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

RSS dla komentarzy: