Perplessità sulla Cookie Law

La famosa Cookie Law è una legge Europea che costringe qualsiasi sito Europeo (ehy, anche noi!) a inserire un’Informativa sulla privacy in ogni pagina del proprio sito.

Polemiche:

  1. Si è parlato di 120.000€ di multe a chi non sottostasse. Il caos.
    (so anche dirlo a parole… centoventimila euro! asd.)
  2. L’utente deve capire cosa sia un cookie
    (Insomma, a nessun utente frega niente di ‘ste cose. Tutti vogliono solo continuare a navigare e ad essere tracciati in pace e a vedere le pubblicità di anticoncezionali su un sito di un panettiere, se per caso il giorno prima si è visitato un sito di pornografia.)
  3. Il possessore del sito deve capire quali “tipi” di cookie sta usando sul suo sito
    (Insomma, a nessun possessore di un sito frega niente di ste cose. Vogliono solo continuare a tracciare i propri utenti. Insomma, più ste scimmie vedono pubblicità che li riguardano e più arrivano le monetine.)
  4. Alcuni siti hanno il bottone “Non accetto” (i cookie) per non accettare l’informativa sulla Cookie Law. Quando l’utente lo preme ovviamente si becca un cookie proprio per ricordare al sito che… non ha accettato i cookie! :roll:

Cos’è un cookie

È uno standard molto comodo per salvare qualche informazione sulla tua navigazione. Esempio: se tu mi rubassi i cookie, su questo sito ci sarebbe scritto: «Benvenuto amministratore». Anche se tu non sapessi la mia password. Ecco quindi un banale esempio su cosa accade quando io digito la mia password di amministrazione su questo sito, e quando subentrano i cookie:

  1. Io → Sito: (Ho il sito, bene! Digito nome utente e password)
  2. Sito → Io: «Password giusta! Benvenuto amministratore! Ora per favore salva un cookie chiamato ‘USER=BOZ;TOKEN=KASJDLKASJDKLASJDLASJDKLAJLKSDA’. Per me significherà che sei già loggato e non ci sarà bisogno che tu ripeta ogni santa volta la procedura di login!»
  3. Io → Sito: «Ehy, grazie! <3 Me li salvo subito e te li manderò ad ogni prossima visita! Che belli i cookie! Che buoni! Così ora ad ogni visita sarò sempre amministratore, ma non continuerò ad autenticarmi “a mano”!»

La morale di questa favola a lieto fine: Oltre alle normali informazioni che l’utente può passare ad un sito, è prassi che un sito chieda al browser di memorizzare piccole porzioni di dati sul proprio browser. I cookie sono quei dati.

Dove sta la malvagità? Perchè l’Europa vuole che io sappia queste cose? Perchè? Io non ci volevo neanche venire su questa pagina.

Questa è la rappresentazione grafica di quello che invece accade quando un sito carica particolari contenuti da altri siti cioè fa appositamente uso di “cookie di terze” parti: se visiti Facebook, Google o Libero.it, o qualsiasi altro sito sul pianeta dove si fa uso di cookie di terze parti (quasi tutti, purtroppo) ci saranno sempre altri siti (come amazon-adsystem.com, googleapis.com, o doubleclick.net, ecc) che saranno appositamente richiamati da loro per tracciare la vostra navigazione nei modi più efficaci.

Così, se ad esempio visito siti che parlano di giardinaggio (e dove l’autore del sito utilizzava ad esempio qualche servizio di Google per contare i visitatori, come Google Analytics) allora su Google e su altri siti in cui si sfruttano i servizi di Google (come Google Adsense) avrò pubblicità inerenti al giardinaggio.

Cookie - LigntBeam Mozilla Firefox
Cookie di terze parti

Insomma, sarebbe bellissimo possedere uno di quei “nodi” che si vedono nell’immagine e che stanno in mezzo al mucchio: si possederebbero allora i rubinetti del web e si potrebbero guadagnare miliardi di milioni di euro nel mostrare la giusta pubblicità alla giusta persona, nel cedere queste informazioni a determinati siti per operazioni di marketing mirato e molto altro.

I cookie permettono di identificare la tua sessione durante ogni singolo passaggio di sito in sito, se qualcuno di quei siti utilizza cookie di terze parti.

  • Se la cosa ti interessa, installa un browser libero come Mozilla Firefox e installa LightBeam per studiare che impatto hanno i cookie sulla tua identità, di sito in sito.
  • Se la cosa ti infastidisce, installa µBlock, Self Destructing Cookies e NoScript.
  • Se usi uno smartphone devi sapere che la maggior parte del software proveniente dagli store ufficiali è compromesso da librerie di monitoraggio come Google Analytics: molto peggio di semplici cookie! Se usi Android, inizia a conoscere F-Droid per evitare questo spiacevole comportamento alla radice.
  • Se sei proprietario di un sito rifletti se la privacy dei tuoi utenti vale davvero quei centesimi provenienti dal tracciamento degli utenti. Rifletti se continuare ad utilizzare cookie dei terze parti.

Comandare sul web: injection javascript

(Nota di redazione: questo articolo è molto vecchio. All’epoca avevo 15 anni. Proseguendo nella lettura potresti sentire il bisogno di strapparti i bulbi oculari. Se per caso possiedi la tecnologia necessaria per effettuare viaggi nel tempo, vieni qui e proibiscimi di scrivere questo post, perché è da rincoglioniti, peggio di Aranzulla. Nello specifico, copy-pastare roba nella tua console di debug del tuo browser web è da rincoglioniti. Ogni volta che rileggo questo post avrei voluto che il giorno prima io fossi stato investito da un camion, ed è questo il motivo per cui lo manterrò online: per maturare. Con le dovute precauzioni, buona lettura.)

Come si può “comandare” sul web? Come possono persone normali avere accesso a parti segrete di siti poco controllati, o di incrementare punteggi di browser-game in poche mosse?
Lo capiremo partendo da molto lontando attraverso questa breve guida dedicata alle injection-javascript.

Una estrazione (extraction) javascript è un metodo di controllo del codice di un sito tramite l’estrazione diretta delle variabili, via indirizzo ipertestuale.
Significa che per controllare una variabile di un sito web (un punteggio di un gioco online o la password di un utente loggato ad esempio) basta conoscere il nome della variabile che lo custodisce, e richiamare il suo valore inserendo nella barra degli indirizzi un comando di richiamo come javascrpt:alert(nomevariabile);
Questo tipo di estrazione si è però evoluto in forme molto complesse di iniezione chiamate injection javascript, delle quali approfondiremo ora.
Le chiamano injection javascript perchè con esse si può riuscire a modificare parte di una pagina web durante la propria sessione di navigazione, e quindi riuscire ad apportare modifiche consistenti ad un qualunque sito o gioco online, esclusivamente utilizzando codici, iniettati nella pagina, tramite la barra degli indirizzi, o tramite un segnalibro web.
Quello che faremo ora sarà prendere di mira alcuni siti molto famosi e sostituire un oggetto della pagina con del testo a nostra scelta.
Premettiamo che questo tipo di modifica non è reato: una injection javascript non è infatti una distruzione della pagina ma solo una modifica parziale lato-utente del listato javascript, del tutto ripristinabile ricaricando la pagina.
Ma insomma! Partiamo!

Step one

Prima di tutto, assicuriamoci di usare Firefox e non Internet Explorer (poichè I.E. si blocca con le injection javascript)
Ottenuto Firefox creiamo un segnalibro che ci servirà da “iniettore”

  • Digitiamo CTRL+D
  • Selezioniamo “Barra dei segnalibri” come cartella
  • Salviamo il segnalibro

Step two

A questo punto comparirà il segnalibro della presente pagina nella vostra barra dei segnalibri. Quindi:

  • Selezioniamo tutto il seguente codice e copiamolo (compresa la scritta “javascript:”):

javascript:
x="Questo e' un esempio di Injection Javascript - Reyboz Blog";
alert('Codice da iniettare:nn'+x);
x="<h1>"+x+"</h1>";
document.getElementById('previewPan_w1').innerHTML=x;
alert('Injection eseguita.');

  • Selezioniamo il segnalibro precedente con un click destro
  • Selezioniamo Proprietà
  • Incolliamo il precedente codice nello spazio dedicato all’indirizzo del segnalibro.

Ora avremo nella barra degli indirizzi il segnalibro che conterrà come indirizzo lo script: servirà ora per iniettare una scritta nel famoso motore di ricerca Blackr.

Dritti al cuore di blackr

Bando alle ciance:

  • Dirigiamoci sul Blackr
  • Lanciamo il segnalibro con un click su di esso
  • Clicchiamo su Ok ai 2 messaggi
  • Osserviamo

Se avete eseguito tutti i procedimenti Blackr apparirà con una scritta nella parte destra.

Ma noi non ci siamo fermati:

Dritti al cuore di facebook

  • Accedete al vostro Facebook
  • Rieseguiamo lo Step One
  • Incolliamo nel segnalibro tutto il seguente codice al posto dell’indirizzo:

javascript:
x=prompt('Inserisci il tuo nome di Facebook: (serve)','qui');
x="<h1>Mi chiamo -"+x+"- Salve! </h1>";
document.getElementById('navSearch').innerHTML=x;
alert('Injection eseguita.');

  • Salviamo il segnalibro
  • Clicchiamo sul segnalibro
  • Osserviamo

Se tutto è andato bene comparirà nella parte del titolo del vostro profilo di facebook una piccola modifica testuale.
Tranquilli, tutto torna normale digitando il classico F5.

Dritti al cuore dei giochi online

Scaricheremo un piccolo gioco online della Mr. Webmaster intitolato Chi vuol essere milionario. Dunque scarichiamolo, estraiamolo sul nostro computer e iniziamo subito a giocare.
Noterete che il gioco funziona perfettamente ma perchè non barare un po’?

  • Aprite il gioco
  • Ripetete lo Step One
  • Incolliamo nel segnalibro tutto il seguente codice al posto dell’indirizzo:

javascript:
function prossimadomanda(){
document.gioco.giustaa.value="giusta";}
alert('Preparazione alla injection in corso.');
prossimadomanda();
alert("Script abortito, la risposta sarà sempre la numero:nn-A.")
;

  • Salviamo il segnalibro
  • Clicchiamo sul segnalibro
  • Osserviamo

Come potete immaginare è stato iniettato un codice che modifica questo semplice gioco rendendo le risposte tutte uguali.
La nostra piccola lezione sulle injection javascript è ormai giunta al termine, vi auguriamo che tutto sia stato comprensibile e che vi siate divertiti scoprendo i segreti celati dietro alla modifica dei siti web. Vorremo precisare che tutto questo non deve apparire come un articolo “terrificante”,  questi utilizzi javascript non sono paragonabili a pirateria informatica e nè lo saranno mai, poichè il web deve essere uno strumento comune di insegnamento e non un segreto privato.
Grazie per la lettura.

Empathy – Messaggistica universale per Ubuntu

Empaty - Reyboz Blog

Ogni giorno messaggiamo con servizi ingombranti, come ad esempio la chat di Facebook, che per essere utilizzata si deve tenere aperto il browser anche se si desidera solo e soltanto la chat…oppure MSN che si appesantisce ammorbandoci di pubblicità e funzioni mai prese in considerazione.
Per fortuna in Ubuntu qualcuno ha ben pensato di crearne una veloce che riesce a gestire in una piccola finestrella ogni tipo di client messaggistico, il suo nome è  Empathy, ma non richiede presentazioni in quanto spesso, è preinstallata.

Con essa si potranno importare (anche contemporaneamente) tutti questi servizi:

  • AIM
  • Chat Facebook
  • Google Talk
  • Chat IRC
  • MSN
  • Chat MySpace
  • Chat Yahoo!
  • Jabber

E ancora altre!

Perchè non provarlo dunque?
Troveremo Empathy cliccando sul nostro nome utente di Ubuntu (in alto a destra del nostro schermo) e selezionando Account Messaggistica nel menù a tendina.

Impostare le chat

Settaggio di una chat con Empathy - Reyboz Blog

Per impostare una chat (di quella di Facebook ne parliamo nel paragrafo dopo) basta:

  • Aprire Empathy dal nome utente di Ubuntu → Account messaggistica
  • Cliccare Aggiungi
  • Scegliere un protocollo (MSN ad esempio)
  • Inserire i dati (nome e password)
  • Applicare la scelta

In seguito nella stessa finestra cliccheremo sulla chat appena impostata nel menù a sinistra e nel blocco che comparirà a destra spunteremo la casella Abilita.
In questo modo appena riceveremo un messaggio da un amico, si presenterà alla nostra attenzione una finestra a suo nome con solo e soltanto la chat a lui dedicata.

Impostare la chat di Facebook

Settaggio chat di Facebook su Empathy - Reyboz Blog

Per abilitare la chat di Facebook è leggermente più complicato ma si risolve in meno di qualche minuto.

  • Apriamo Empathy dal nome utente di Ubuntu → Account messaggistica
  • Clicchiamo sul bottone Aggiungi
  • Scegliamo il protocollo Facebook
  • Clicchiamo sul link di Empathy nominato come Questa pagina

Si aprirà il browser con la schermata di Facebook richiedente il nome utente personale sostitutivo all’ID identificativo numerico, sceglietelo e salvatelo. A questo punto

  • Copiamo il nostro nome utente di Facebook appena scelto
  • Incolliamolo come nome utente anche su Empathy
  • Inseriamo la nostra password di Facebook su Empathy
  • Applichiamo le modifiche

Avremo così impostato la nostra chat di Facebook, successivamente occorrerà spuntare il blocco Abilità nella stessa identica finestra, et voilà, appena riceveremo un messaggio da un amico si aprirà una finestrella a suo nome in cui potremo messaggiare senza nient’altro di superfluo.

Piccola pignoleria

Icona del pannello di Ubuntu - Reyboz Blog

Per avere a disposizione la lista dei contatti on-line occorre aver attivato un indicatore di Evolution nel pannello del nostro Ubuntu. Se non lo abbiamo già fatto inseriamolo adesso:

  • Clic sul pannello superiore di Ubuntu → Aggiungi al pannello
  • Cerchiamo l’Indicatore e aggiungiamolo

A questo punto avremo un’icona a forma di e-mail sulla quale, cliccandoci sopra e scegliendo la voce Chat, avremo a disposizione anche l’intera lista contatti.