HttpOnly - in sfarsit, un plus de securitate

Jan 28, 2009

Una din metodele folosite de "baietii rai" pentru a sparge conturi se bazeaza pe injectarea de cod JavaScript in paginile atacate (XSS) si culegerea unor date private (cum ar fi identificatorul de sesiune stocat in cookie).

In 2006 Microsoft a inventat httpOnly, un cuvant trimis in header care specifica faptul ca un cookie setat de server nu poate fi accesat din JavaScript sau alte scripturi care ruleaza in browser. Ideea, foarte buna de altfel, a fost implementata in IE6 SP1 si ulterior in FireFox 2.

Totusi a aparut repede o problema: Ajax, la moda in ultima vreme, mai exact XmlHttpRequest, permitea trimiterea unei cereri catre server si prelucrarea headerelor returnate, inclusiv a cookie-urilor, in cazul in care erau setate in mod repetat de server (si se pare ca in PHP ar fi comportamentul implicit). In felul acesta, toata protectia introdusa de httpOnly era compromisa. Rezolvarea a venit in decembrie 2008 pentru Internet Explorer si luna asta pentru Firefox (testat pe versiunea 3.1 beta) Ambele browsere au eliminat posibilitatea de a citi cookie-urile setate cu httpOnly din XmlHttpRequest. Probabil, in cateva luni, multi vor face upgrade la browsere si internetul va deveni un loc mai sigur :) Doar pana cand se vor inmulti atacurile bazate pe Flash (care ofera tot timpul posibilitati nebanuite).

O simpla linie de cod PHP poate proteja aplicatia de atacuri XSS:

ini_set("session.cookie_httponly", 1); 

Referinte:

Postat in Securitate

Înapoi