Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Implementacja HTML5 pozwala na „pożarcie” lokalnego dysku

28 lutego 2013, 15:21 | Aktualności | 0 komentarzy

Jak się okazuje, nieprawidłowa implementacja mechanizmu HTML5 Web Storage pozwala witrynom internetowym na pożarcie całego wolnego miejsca na lokalnych dyskach odwiedzających je internautów. Poniżej przedstawiamy praktyczny przykład wykorzystania takiej podatności.

HTML5 Web Storage to mechanizm, który pozwala na przechowywanie danych serwisów internetowych wprost na lokalnych dyskach internautów. Mechanizm jest podobny do dobrze znanych cookie. Jedną z ważnych różnic jest jednak dopuszczalna wielkość magazynu. WebStorage pozwala na przechowanie od 5MB do 10MB danych w zależności od przeglądarki internetowej, a klasyczne cookie są ograniczone do 4KB.

Standard przewiduje ochronę przed stronami próbującymi jakichkolwiek nadużyć w zakresie ilości dostępnego miejsca:

User agents should limit the total amount of space allowed for storage areas.

User agents should guard against sites storing data under the origins other affiliated sites, e.g. storing up to the limit in a1.example.com, a2.example.com, a3.example.com, etc, circumventing the main example.com storage limit.

Jednak mimo powyższych zaleceń, implementacje mechanizmu dostępne w aktualnych wersjach kilku popularnych przeglądarek pozwalają na obejście limitu poprzez wykorzystanie wielu subdomen, na przykład:

  • 1.filldisk.com,
  • 2.filldisk.com,
  • 3.filldisk.com itd.

Przykład praktycznego wykorzystania tej podatności można przetestować na własnej przeglądarce pod tym adresem

Uwaga! W celu zatrzymania procesu oraz odwrócenia jego skutków należy skorzystać z przycisku „Stop the madness!”.

Specjalnie przygotowana witryna jest w stanie w szybkim czasie zapełniać nasz lokalny dysk podobiznami… kotów. W chwili obecnej problem dotyczy przeglądarek:

  • Internet Explorer,
  • Google Chrome,
Uwaga! Dla tej przeglądarki dostępne demo często powoduje również awarię całej przeglądarki.
  • Safari.
HTML5 Hard Disk Filler w akcji

HTML5 Hard Disk Filler w akcji

Co ciekawe, problem w ogóle nie dotyczy Firefoksa, dzięki temu, że ta popularna przeglądarka poprawnie implementuje wszystkie zalecenia standardu Web Storage.

Opera zaś pyta użytkownika o zgodę na zapis kolejnej porcji danych.

Opera

Opera pyta o zgodę na dalszy zapis danych

Podsumowując, warto jeszcze raz podkreślić, że twórcy standardu przewidzieli odpowiednią ochronę. Jak to jednak często bywa, problem leży w samej implementacji zastosowanej przez twórców poszczególnych przeglądarek.

Wojciech Smol, (wojciech.smol<at>sekurak.pl)

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

Odpowiedz