HttpOnly – in sfarsit, un plus de securitate

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:

Tags: , ,

This entry was posted on miercuri, ianuarie 28th, 2009 at 03:31 and is filed under Securitate. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Response to “HttpOnly – in sfarsit, un plus de securitate”

CaliVita Says:

Eu am avut un atac anul trecut ce sa infiltrat printr-o problema din codul unui baner in flash. Asa ca acum evit flash-ul

Leave a Reply