Request Rodeo veröffentlicht
Cross Site Request Forgery, auch CSRF, XSRF oder Session Riding, bezeichnet einen Angriff, der eine konzeptionelle Schwäche des HTTP-Protokolls ausnutzt. Dabei werden dem Opfer Requests untergeschoben, die “normale” Zugriffe darstellen — also keine Code Injection ala Cross Site Scripting — mit dem Ziel, unsichtbar für das Opfer eine Aktion zu triggern. Ein schönes, harmloses Beispiel von der Wikipediaseite selbst:
http://de.wikipedia.org/w/index.php?title=Spezial:Userlogout
Dieser Request wird z.B. in einen Image Tag gepackt. Der Browser des Opfers, der eine Seite mit eben jener Bildreferenz lädt, führt einen Request mit den entsprechenden Credentials aus, da er vorher nicht wissen kann, dass sich hinter der Referenz zu dem Bild gar keins befindet.
Mit dieser Art von Angriff war es beispielsweise damals möglich, bei Plazes Freunde zu machen, in dem ein Bild mit entsprechendem Verweis eingebaut und Leuten per RSS untergeschoben wurde (siehe Eintrag Finding friends on teh intarweb). Bislang war es ohne weiteres nicht möglich, auf Clientseite viel dagegen zu tun, sondern man musste sich auf eine durchdachte Programmierung auf Anbieterseite verlassen.
Justus Winter und Martin Johns haben vor einiger Zeit das lesenswerte Paper Client Side Protection against Session Riding zum Thema verfasst und dort einen Proxy angekündigt, der dieser Tage veröffentlicht wurde. Request Rodeo, so der Name des Proxies, ist in Python geschrieben, setzt SQLite, Twisted und OpenSSL voraus und ist aus meiner allerersten Sicht schon gut zu benutzen. Request Rodeo strippt Credentials und Cookies aus Requests, die dort nix verloren haben und kann sowohl mit HTTP als auch HTTPS umgehen. Er hat bisher aber scheinbar noch Schwierigkeiten bei GZIP-komprimierten HTTP-Requests (Justus drückt sich einem Kommentar im README zufolge bisher wohl darum =)
Martin erwähnte Mitte des Jahres, dass zudem ein Plugin für Firefox geplant sei. Allerdings weiss ich nicht, ob der Plan noch steht.
Die beiden sind übrigens auf dem 23C3 mit dem Vortrag On XSRF and why you should care vertreten, in dem sie in aller Ausführlichkeit auf dieses Problem eingehen werden.
