Securizeaza aplicatia web: Session fixations

Iti este securizata aplicatia web? Cunosti termenul si semnficatia de session fixation? Ii doresti sa afli mai multe despre asta?

Cand vine vorba de securitate este mereu loc de imbunatatiri, deoarece la fel cum tehnologia avanseaza pe zi ce trece, in acelasi mod gasesc si hackeri posibilitati prin care iti pot afecta securitatea aplicatiei web.

Motiv pentru care e important sa cunosti tipurile de atacuri cibernetice si ce poti face pentru a le preveni.

Ce este Session Fixation?

Un alt tip de atac cibernetic este Session Fixation. Acesta ii permite unui atacator atace sesiunea valida a unui utilizator. Atacul exploreaza o limitatie, in sensul in care aplicatia web coordoneaza sesiunea de ID, care este partea vulnerabila a unei aplicatii web.

In momentul in care un utilizator se autentifica, nu i se atribuie o sesiuna noua de ID, iar acest proces face posibil sa folosesti o sesiune de ID deja existenta. Atacul e bazat pe obtinerea unei sesiuni valide, in care utilizatorul se autentifica, urmand ca atacatorul sa preia controlul asupra sesiunii. Atacatorul trebuie sa furnizeze o sesiune ID web veritabila, iar pentru aceasta incearca sa faca victima sa foloseasca browserul.

Good to know! Acest tip de atac, tinteste sesiunile stabilite in browser-ul victimei, ceea ce inseamna ca atacul incepe inainte ca utilizatorul sa se autentifice.

Tehnici de executare

Pentru a executa atacul exista mai multe tehnici, in functie de token-urile folosite pentru sesiunile aplicatiei web.

Sesiune ID intr-un cookie

<META> tag – Acesta este considerat si un atac de tip injectare cod. Un atac care foloseste aceasta tehnica este mult mai eficient. Asta deoarece este imposibil sa dezactivezi procesarea acestor etichete in browsere.

Client-side script – Majoritatea browserelor suporta tipul de executie client-side scripting. Pentru aceasta tehnica, atacatorul poate folosi atacuri de injectare cod, ca de exemplu atacul XSS (cross-site scripting) pentru a insera un cod malicious in hyperlink-ul trimis victimei. Astfel e fieaza o sesiune ID in cookies.

HTTP header response – Pentru aceasta metoda, se cerceteaza raspunsul server-ului pentru a fixa sesiunea ID in browser-ul victimei. Astfel, atacatorului ii este permis sa insereze valoarea sesiunii ID in cookie, incluzand parametrul Set-Cookie in raspunsul header-ului HTTP, iar apoi este trimis catre browser-ul victimei.

Sesiuni token in argumentul URL-ului

Sesiunea ID ii este trimisa victimei sub forma unui link prin care victima acceseaza aplicatia web printr-un URL daunator.

Sesiuni token ascunse intr-un formular

Pentru aceasta tehnica, e necesar ca victima sa fie pacalita in autentificarea unui server web tinta, folosind un formular de login, care este creat de atacator. Formularul poate fi gazduit in emailul formatat HTML sau in server-ul web daunator.  

Exemple explicative

 

  • Client-side scripting

 

Procesul pentru acest tip de atac care foloseste scripturile de executie in browserul victimei care nu apar sub forma unui argument in URL, dar in cookie-uri. Atacatorul poate insera un cod JavaScript in URL care va fi efectuat in browser-ul victimei.

http://website.kom/document.cookie=”sessionid=abcd”;

 

  • HTTP header response

 

Prin interceptarea pachetelor de schimb intre aplicatia web si client, se face inserarea valoarei sesiunii ID in cookie prin manipularea raspunsului server-ului.

 

  • <META> tag

 

Codul de injectare e necesar sa ie introdus in URL-ul care va fi trimis victimei.

http://website.kon/<meta http-equiv=Set-Cookie content=”sessionid=abcd”>

 

 

  • Formularul

 

Pentru atacul in formular, atacatorul trebuie sa stabileasca o conexiune vertabila cu server-ul web. Mai apoi, se elibereaza sesiunea ID, sau atacatorul creaza o noua sesiune. Atacatorul trimite link-ul cu conexiunea gazduita victimei, pentru a fi accesat de victima.

Timp in care server-ul web vede sesiunea are a fost deja stabilita, nemaifiind nevoie de una noua. Astfel victima isi introduce datele server-ului web, iar atacatorul poate accesa contul utilizatorului.

Daca iti doresti sa inveti cum sa oferi aplicatiei web o securizare mai solida, gasesti aici datele mele de contact!

Lasă un comentariu