Delicious Digg Facebook Favorites More Stumbleupon Twitter

Une vulnerabilite dans HTML5 permet de saturer votre disque dur

Hard-drive« Ce n’est pas un bug, c’est une fonctionnalité ». Cette citation n’a jamais été plus approprié que dans le cas présent.
La fonctionnalité de WebStorage du HTML5 a été développée afin de permettre aux sites de stocker plus de données (5-10MB) que ne le permettent les cookies (4KB). Cette possibilité est offerte dans tous les navigateurs modernes (Chrome, FireFox 3.5+, Safari 4+, IE8+)

Protection contre les abus

Les standards de cette nouvelle fonctionnalité ont anticipé l’abus que les webmasters pourraient en faire et il a donc été proposé d’imposer une limite à l’espace de données qu’un site peut utiliser.

Les limites actuelles sont :

  • 2.5MB par site avec Google Chrome
  • 5MB par site avec FireFox et Opera
  • 10MB par site avec IE

Exploitation

Cependant, que se passe t’il si un petit malin crée une multitude de sous-domaines (1.domain.com, 2.domain.com, 3.domain.com …) Est-ce que chaque domaine a le droit à ses 5MB de stockage ? Les standards disent NON !

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.

A mostly arbitrary limit of five megabytes per origin is recommended.

Cependant, Chrome, Safari et IE n’ont pas jugé utile d’implémenter une telle restriction.

Ainsi, il est possible pour un webmaster mal intentionné de remplir votre disque dur.

Démonstration

Le site FillDisk.com a été créé pour montrer que cette technique fonctionne. Vous pouvez par ailleurs retrouver le code source de ce site sur GitHub.

Cette petite démo permet tout de même de :

  •  Remplir le disque dur des utilisateurs de Chrome, Safari (iOS ou Mac) et d’IE
  • Remplir 1GB de données toutes les 16 secondes sur les disques performants
  • Pour les navigateurs 32-bits comme Chrome, un crach peut avoir lieu avant que le disque soit plein
  • Retirer tous les fichiers créé par la démo grâce à un bouton

 

source

Text Widget

Aliquam ut tellus ligula. Nam blandit massa nec neque rutrum a euismod t ellus ultricies! Phasellus nulla tellus, fringilla quis tristique ornare, condi mentum non erat. Aliquam congue or nare varius.