Cacher des wookiees dans du HTTP
HTTP est partout, tout le monde veut écrire son propre serveur HTTP.
Donc j’ai écris le mien, moi aussi. Mais il n’est pas rapide et il est accompagné d’un client HTTP qui envoie de très mauvaises requêtes.
Mon outil est un stress-test pour les Serveurs et Reverses Proxy HTTP; et je l’ai réalisé parce que j’avais déjà trouvé quelques trous de sécurité dans tous les agents HTTP que j’avais commencé à regarder en détail.
C’est à dire, nodejs, Varnish, Apache httpd, golang, le httpd de FreeBSD, nginx, et même HaProxy.
Cette présentation essaye d’expliquer comment de petites failles dans les parseurs HTTP peuvent être exploitées pour de mauvaises choses; pourquoi il est très difficile de faire corriger ces failles et pourquoi je pense que cela ne devrait plus être le cas. Nous regarderons dans le détail quelques vraies mauvaises implémentations en les enchaînant pour obtenir des failles web importantes.
Si vous ne connaissez rien de HTTP vous pourrez peut-être comprendre, mais vous devrez me faire une confiance aveugle. Si vous pensez que vous connaissez HTTP, vous n’avez aucune raison de ne pas venir voir cette présentation.
A la fin je présenterai l’outil de stress Open Source (HTTPWookiee), en espérant que vous vous souviendrez de lui le jour où, vous aussi, vous écrirez votre propre mauvaise implémentation du protocole HTTP.