Post con tag hacking
Abilitare Mi sento fortunato su Opera
10 mag
Recentemente avevo spiegato come abilitare il Mi sento fortunato di Google su Chrome, ora vediamo lo stesso procedimento per Opera.
Andiamo su Strumenti => Preferenze, clicchiamo su Aggiungi, ed inseriamo le impostazioni come in figura:
Quella importante è l’indirizzo, dovete inserire:
http://www.google.com/search?sourceid=navclient&ie=UTF-8&q=%s&gfns=1
ed abilitare Usa come motore di ricerca predefinito.
Ora la ricerca è funzionante, ma c’è un problema: se inseriamo solo un termine nella barra della ricerca, Opera non va a chiedere a Google il risultato predefinito. Purtroppo a questo non pare esserci soluzione, aggiornerò il post in caso trovi qualcosa.
Abilitare il Mi Sento Fortunato su Google Chrome
1 feb

Google Chrome
Chi come me è passato da Mozilla Firefox a Google Chrome (Chromium per Linux), sente la mancanza di un’ottima caratteristica del browser, che consente di risparmiare un sacco di tempo durante il suo utilizzo abituale.
In Firefox, se scrivo una parola nella barra degli indirizzi, posso avere due comportamenti:
- Se la ricerca è rilevante in percentuale altissima, redirige automaticamente sulla pagina più rilevante (in pratica è come fare Mi sento fortunato)
- Se i risultati della ricerca sono dubbi, lascia all’utente la scelta di quale pagina visitare, mostrando la pagina classica dei risultati di Google.
In Chrome invece questa caratteristica non è presente: mostra sempre i risultati della ricerca classica.
Per portare anche in Chrome questa ottima caratteristica, seguire questi passi:
- Cliccare sulla chiave inglese (in alto a destra) e scegliere Opzioni
- Sulla Ricerca Predefinita, scegliere Gestisci
- Premere Add e impostare parametri come questi:
In URL inserire questo:
{google:baseURL}search?{google:RLZ}{google:acceptedSuggestion}{google:originalQueryForSuggestion}sourceid=navclient&ie={inputEncoding}&q=%s&gfns=1(Fare click su View source code qui sopra per visualizzare il testo completo)
- Fare Salva e poi impostarlo come predefinito nella finestra successiva.
- Ora se scriviamo delle parole chiave nella barra, si comporterà come Firefox. Se però volessimo temporaneamente fare una ricerca con Google classico, ho preferito utilizzare questo stratagemma:
- Tra i motori, cliccare su Google (quello che punta a google.it), e scegliere Modifica
- Cambiare la parola chiave ed inserire g al suo posto.
- D’ora in avanti, se vogliamo fare una ricerca temporanea su Google, basterà anteporre g alle parole chiave. Ad esempio: g polpoinodroidi.
- Servire freddo
Decriptare file PHP protetti con SourceCop
12 gen
Mi è capitato oggi di imbattermi in un file criptato, di questo tipo:
<?php if(!function_exists('findsysfolder')){function findsysfolder($fld){$fld1=dirname($fld);$fld=$fld1.'/scopbin';clearstatcache();if(!is_dir($fld))return findsysfolder($fld1);else return $fld;}}require_once(findsysfolder(__FILE__).'/911006.php');$REXISTHECAT4FBI='BLABLA';g0666f0acdeed38d4cd9084ade1739498(f0666f0acdeed38d4cd9084ade1739498(__FILE__));$REXISTHEDOG4FBI='BLABLABLA';$REXISTHECAT4FBI='94CD76CD371C5A7BC70C186E779C293B9B49BACA5A781A6'; eval(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI));?>
Dopo una rapida ricerca ho scoperto che tale codice è prodotto da un simpatico programma (a pagamento), di nome SourceCop.
Questo programma permette di criptare dei file PHP, in modo da poterli distribuire ma senza renderli apparentemente comprensibili per un essere umano.
Apparentemente. Perché in pochi minuti ho trovato un rapido modo per decriptarli, vediamolo insieme.
- Modificare il file ./scopbin/911006.php, e modificare la stringa:
return (strstr($s,'echo')==false?
in:
return (strstr($s,'NONROMPERE')==false?
- tornare al file criptato, e alla fine del file modificare:
eval(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI));in:
echo(y0666f0acdeed38d4cd9084ade1739498('1034 6 E73D03055E3',$REXISTHEDOG4FBI)); - eseguire lo script, e verrà mostrato il sorgente precedentemente criptato.
- servire freddo.
Per capire cosa ho fatto: il programma lascia salvato il codice criptato in una variabile, che decripta alla fine del file e la esegue (attraverso eval). Quindi è sufficiente stampare a video il contenuto della variabile già decriptata, invece che eseguirla.
Nota: nel file 911006.php c’è una debolissima protezione contro attacchi di questo tipo: si controlla che il file criptato non contenga funzioni come echo(), print()…
Ovviamente basta eliminare questo piccolo controllo per poterle comodamente utilizzare.
Aggiungere smileys animati con Pidgin? Certo!
20 apr
UPDATE 30/05/09: ho riscritto la patch da zero in seguito alle modifiche recenti nel ramo di sviluppo, gli effetti sono gli stessi ma il procedimento seguito diverso
Con pidgin, se cerco di aggiungere uno smiley ricevuto da un amico ai miei smileys, ho come effetto che viene salvato solo il primo frame, in pratica perde l’animazione.
Irritante.
Più irritante se penso che questo problema c’è da tempo immemore ma gli sviluppatori continuano a chiudere il ticket con stato: wontfix, perché il GdkPixBuf (non sviluppato da loro) non supporta il salvataggio in gif.
Bene, siccome mi ero rotto il cazzo di questa cosa, e un po’ per sfida, ho scritto una patch che utilizza un metodo non troppo pulito, ma che permette di aggiungere sto coso.
Come provarla?
Il metodo più semplice è quello di installare la versione di pidgin del mio repository, oppure se siete smanettoni dovrete applicare la patch al sorgente che dovete prendere dal ramo di sviluppo (attraverso monotone), applicarla, compilare ed installare pidgin!
[se avete bisogno di info a riguardo, contattatemi]
Per gli utenti di windows: la patch funziona (credo) anche per win, solo che non ve la posso compilare, dovrete farlo voi
Problemi noti:
- La patch permette di aggiungere uno smiley, non di salvarlo come immagine. Almeno per il momento. La nuova versione della patch (v0.6) permette anche di salvarli su file
- L’ho testata un pochino, ma non è mai sufficiente: ho bisogno di feedback ragazzi, datevi da fare e provatela!
- Utilizzerà un po’ più memoria. Beh a dire il vero si parla magari di una 50ina di kB con un migliaio di smileys visualizzati, ma sono pignolo
- L’ho testata solo sul ramo di sviluppo (attualmente la 2.6.0dev), se qualcuno vuole portarla al ramo stabile (2.5.5) è il benvenuto
Nerd area: come funziona funzionava (prima della v0.7)
Al momento della ricezione dello smiley, lo stream di dati viene salvato come file all’interno della cartella ~/.purple/remote_smiley_cache, con un nome univoco e nel formato originale inviato dal nostro contatto.
Viene creata una corrispondenza smiley_visualizzato<==>file_in_cache, in modo che al momento in cui faccio tasto destro sullo smiley e clicco su Aggiungi smiley personalizzato, lui non vada a chiedere al GdkPixBuf di salvarglielo, piuttosto gli chiedo di andare a leggere il contenuto del file in cache e di salvarlo tra gli smileys personalizzati.
Leggetevi la patch per maggiori info. Lo so, non è commentata, ma il codice di pidgin purtroppo non lo è mai, quindi ho semplicemente seguito lo stile attuale.
Firefox, errore nssessionstore NS_ERROR_NOT_AVAILABLE
16 mar
Da ormai 2 anni un problema mi affliggeva: firebug segnalava i seguenti errori, in ogni pagina:
[Exception... "Component is not available" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: file:///usr/lib/firefox-3.0.7/components/nsSessionStore.js :: sss_saveState :: line 1909" data: no]
[Exception... "Illegal value" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: file:///usr/lib/firefox-3.0.7/components/nsSessionStore.js :: sss_saveState :: line 1909" data: no]
In pratica è dovuto al fatto che la sessione, in seguito ad uno dei tanti crash del browser, si era corrotta. Il problema è che non c’erano solo questi fastidiosi errori, ma la sessione si salvava SOLO se chiudevo regolarmente il browser, mentre se crashava addio tab aperte.
Ora, grazie ad un commento su un blog, ho finalmente trovato la soluzione, e creato una patch che risolve il problema.
Procedimento
Installiamo (se non ce l’abbiamo già) il programma patch:
sudo apt-get install patch
Eseguiamo in un terminale i seguenti comandi:
cd /usr/lib/firefox-3.0.7/components wget http://polpoinodroidi.com/download/plugins/firefox-ns-error.patch -O- | sudo patch -p1
Nei comandi qui sopra, sostituite 3.0.7 con il numero di versione del vostro Firefox.
Riavviate firefox e sorridete alla vita.
IMPORTANTE: dovete ripetere il procedimento ad ogni aggiornamento di firefox che farete (a meno che non correggano direttamente loro questo bug).
Linkem e copertura iniziale
4 ott
NOTA BENE: questo articolo è stato scritto all’avvio dell’offerta WiMax (ottobre 2008), ed è pertanto divenuto obsoleto. Non ho informazioni sulla corrente copertura della Linkem, quindi non prendete questi dati come attuali.
Il WiMax è arrivato.
Cos’è WiMax? E’ un tipo di connessione senza fili (wireless), che promette di portare la banda larga senza preoccuparsi dell’ultimo miglio (il collegamento tra la centrale e la nostra abitazione), poiché è senza fili e non si deve appoggiare alla Telecozz. Ma la cosa che più è importante è che si attende molto questa tecnologia perché dovrebbe aiutare ad annullare il digital divide (noi poveri sfigati senza copertura ADSL).
Perché tutto questo? Analizziamone i punti forti:
- banda passante sulle infrastrutture fino a 70 Mbit/s
- visibilità ottica non necessaria (posso avere ostacoli tra casa mia e il ripetitore)
- possibilità di connessione in roaming (ad esempio se mi sposto in treno con il mio portatile, rimango connesso ad internet se ho copertura) [in futuro]
- raggio teorico di copertura fino a 50km omnidirezionale (in realtà è molto meno)
Inoltre è una tecnologia che costa poco ai service provider, che quindi in tempi brevi e con facilità possono creare la loro rete.
In Italia la banda dei 3.5Ghz utilizzata dal WiMax è soggetta a licenza d’uso, e quindi a febbraio ’08 c’è stata l’asta per l’assegnazione delle frequenze, in modo da avere questa situazione: ogni regione deve essere coperta da 3 soli operatori, di cui uno con licenza macroregionale, e 2 regionale.
Le macroregioni (in totale 7) sono dei gruppi di regioni, per esempio la mia è composta da Lombardia, Bolzano e Trento.
Ho seguito tutta la storia da almeno un anno e mezzo, ancora prima che si decidessero le date per l’asta. Ho controllato quotidianamente con il fiato sospeso la situazione sul sito del Ministero delle Comunicazioni, e il 28 febbraio si è finalmente conclusa l’asta, con la quale lo Stato ha fatto un bel po’ di soldi, oltre 136 milioni di euro.
Nella mia regione, la Lombardia, hanno vinto Aria (macro), Linkem (reg.) e Retelit (reg.).
Passano i mesi, e finalmente leggo su Tom’s HW che dal 1 ottobre la Linkem inizia la sua copertura! E guardacaso proprio dalla provincia di Brescia!! Bene, esulto, festeggio, sacrifico qualcuno a Frate Metallo.
Cerco subito informazioni sull’offerta: pare che con 20€ al mese si abbia una connessione fino a 7 Mbit/s in download e fino a 1 Mbit/s in upload. Decisamente non male!!! 138 volte più veloce della mia fantastica connessione 56k! E costa solamente il doppio, oltretutto con un prezzo paragonabile all’ADSL.
Un altro punto forte di quest’offerta è che con 10 euro in più al mese permettono anche le chiamate gratis verso i fissi nazionali, senza però avere il costo del fisso Telecom!
Li sommergo immediatamente di email, ma mi rispondono che fino al 1 ottobre non mi diranno niente.
Vabbé.
1 ottobre 2008, ore <presto>:
Un nuovo link appare sul sito della Linkem: Copertura, sul quale mi fiondo immediatamente.
“Siamo spiacenti, l’indirizzo inserito
Via Pinco Pallino, 2 – 12345 LinkemCity (BS) – piano 1
non risulta ancora raggiunto dal servizio MAX”
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Bestemmio. Provo un indirizzo di un altro paese sempre nella provincia di Brescia. Niente. Un altro. Niente. Provo infine l’indirizzo del vecchio appartamento a Brescia città: NIENTE.
Che cacchio dite di avere coperto!?!?! Un bel niente!!! Voglio sapere!!!
Il mio amico firebug, la mia voglia di hacking e la programmazione PHP mi aiutano a rispondere a questa domanda. Ho quindi creato uno script che crea richieste al sito della linkem, ogni 0.03° di latitudine/longitudine (ovvero circa 3.3km in questa zona), controlla la copertura della provincia di Brescia, salvando i dati in un database.
E’ emersa una cosa simpaticissima, che potete apprezzare in questa google map che ho creato per l’occasione.
Hanno piazzato una sola Base Station nella zona sud di Brescia, la cosiddetta Brescia 2, ovvero la zona industriale, piena di industriali, imprenditori, e un sacco di abitanti, tutti coperti dall’ADSL dagli anni ’90 probabilmente.
Inoltre vedo che ha un raggio di copertura di circa 2km, altro che i 50 previsti.
Purtroppo i segnalibri che vedete sulla mappa sono solo alcuni, che ho inserito a mano, appena ho voglia mi studio il formato XML delle mappe di google ed automatizzo il tutto.
Comunque a livello tecnico vediamo che c’è parecchio decadimento quando si incontrano ostacoli (siamo anche a -83 db a soli 300m dalla BS); il “cerchio” che delimita la presenza di segnale è attorno ai -84 db, un segnale piuttosto debole.
La posizione dell’antenna l’ho ricavata facendo una media tra la posizione dei valori alti, arrivando a 56.89db dove c’è il segnalibro verde.
Considerazioni
E’ inutile che ci illudiate con promesse di coprire zone svantaggiate, alla fine fate sempre solo ciò che vi fa comodo, coprendo zone con molti utenti ma che hanno già la banda larga.
Spero solo di dovermi ricredere in tempi brevi, se amplieranno la loro infrastruttura.
Wardriving
26 giu
Molto bene, passiamo ora ad un argomento puramente informatico, il wardriving.
Cos’è?
Il wardriving e’ l’arte di andare a caccia di reti wifi, cercando di penetrare nelle normali reti 802.11b/g.
Perchè?
Per vari motivi. Innanzitutto per divertirsi, cercando di superare le barriere; oltretutto per aumentare la propria conoscenza nel campo della sicurezza: infatti ho imparato come rendere sicura la mia rete wireless proprio imparando dagli errori degli altri; se io riesco ad entrare nella loro rete, vuol dire che non e’ abbastanza protetta. In tal caso, e’ sempre bene cercare di avvisare l’utente, facendogli presente che la sua rete e’ piena di buchi, e dovrebbe correre ai ripari prima che qualche malintenzionato faccia uso della sua rete a sua insaputa, magari per scopi terroristici, garantendosi l’anonimato.
Let’s Rock!
Cosa ci serve? Consiglio Linux, perche’ permette di fare cose molto complesse ed e’ super flessibile, e’ decisamente adatto a questo scopo. Gli esempi di questi articoli si basano su Ubuntu Linux Feisty Fawn (7.04).
Installiamo i vari programmi di cui avremo bisogno: (controllate di avere i multiverse e universe abilitati tra i vostri repository)
sudo apt-get install kismet aircrack-ng
(continua)



