Progettazione… Programmazione… Soluzione…
Tutto il resto
Hacking: SQLInjection con SqlMap
30 mar
Molte volte ci addentriamo nel mondo del Web, nella creazione di un proprio spazio personale che piano piano si evolve, ma non sempre adottiamo le giuste precauzioni ed i giusti accorgimenti per quanto riguarda la sicurezza. In questi casi, ci viene in aiuto sqlmap, un ottimo tool per l’analisi delle vulnerabilità presenti in molte applicazioni web che fanno uso di database SQL.
Introduzione a SQLmapSQLmap è in grado di automatizzare il processo di analisi di vulnerabilità o exploit ai quali sono soggetti tantissimi server web. SQLmap è scritto in Python, il che lo rende indipendente dal sistema operativo utilizzato. Per funzionare, richiede solo in interprete Python in versione maggiore o uguale alla 2.5. Ho già introdotto in precedenti articoli (Hacking: SQL Injection, Difesa contro l’SQL Injection) il concetto di SQLInjection, tutti i pericoli che ne derivano e come difendersi progettando bene la propria applicazione web; ora vediamo come SQLmap riesce nell’analisi di SQLInjection in modo automatico e preciso. SQLmap implementa tre tecniche per l’analisi di vulnerabilità per l’SQL Injection:
- Inferential blind SQL injection, also known as boolean based blind SQL injection: sqlmap appends to the affected parameter in the HTTP request, a syntatically valid SQL statement string containing a SELECT sub-statement, or any other SQL Continua >
Buddy System con MallocLab
27 mar
Dopo avervi parlato dei vari progetti che ho svolto recentemente in Università, voglio condividere con voi anche un progetto molto interessante che ho realizzato 2 anni fa. Si tratta di un allocatore di memoria, quindi di un argomento abbastanza di basso livello, non facilmente comprensibile ai più novizi. Questo progetto mi è stato assegnato durante il corso di Ingegneria degli Algoritmi dal mio caro prof. Camil Demetrescu, indubbiamente uno dei migliori professori che abbia mai incontrato.
DescrizioneLo scopo del progetto è quello di realizzare un allocatore di memoria (usando il linguaggio C) e paragonarne l’efficienza con l’allocatore di memoria predefinito di sistema (la classica malloc in C). Per eseguire questi test ho usato un framework chiamato MallocLab che prende in input l’allocatore di memoria da me realizzato, esegue alcuni test su sequenze reali di malloc, free e realloc e assegna un punteggio all’allocatore, in base al suo comportamento rispetto all’allocatore di memoria di sistema.
Di seguito sono disponibili per il download il package di MallocLab ed un suo esempio di uso:
Dopo questa breve introduzione agli strumenti necessari per la comprensione di questo progetto, passo a parlarvi della mia soluzione. Come evidente nel titolo, la mia soluzione per l’allocatore di memoria è basata Continua >
Creare RSS per tutti i siti
16 mar
Spesso mi capita di dover seguire siti web di alcuni miei professori, che non hanno a disposizione i feed RSS. Fino ad oggi usavo alcuni siti web che promettono di controllare gli aggiornamenti della pagina al posto tuo, e di notificarti le novità. Questi siti però non hanno una vita lunga, anzi, spesso funzionano per poco tempo, fino a quando hanno un numero limitato di utenti. Oggi invece ho scoperto Feedity. Feedity è un servizio web che crea i feed RSS anche per i siti che non li mettono a disposizione. Questa funzionalità è molto utile, in quanto ognuno di noi può creare un feed RSS per un sito di interesse, e soprattutto possono essere effettuate molte personalizzazione.
La cosa più interessante di questo servizio, è la creazione di un canale di feed personale, per ogni sito che si desidera monitorare. Sarà quindi possibile seguire i propri feed (creati tramite Feedity) con il lettore di RSS che si preferisce. Unica nota dolente, è che l’account gratuito notifica un massimo di 10 aggiornamenti per pagina, non immediatamente, ma ogni 5 ore.
Il funzionamento del sito è talmente semplice ed intuitivo che non necessita di alcuna spiegazione. Potete valutare voi di persona, ed in caso di Continua >
L’ADSL in alcune parti non arriverà mai…
6 mar
La telecom ha pubblicato di recente una pagina Web dove poter consultare gli elenchi aggiornati delle zone coperte da ADSL. Questo progetto portato avanti da Telecom da diverso tempo, si chiama Anti Digital Divide.
A vederlo così, sembra tutto rose e fiori per gli sfortunati come me ancora non raggiunti da ADSL. Invece, molti dei comuni del Lazio che sono in lista (parlo per la mia provincia), hanno la copertura ADSL già da diversi anni, e soprattutto, una copertura che è stata fornita al di fuori del progetto Anti Digital Divide. Forse hanno pubblicato questo piccolo elenco per accendere le speranze degli “scoperti”, o per far credere che stanno lavorando per noi. Con pochissima fiducia, ho consultato l’elenco della mia regione, ed ho visto che il mio comune, ancora non è in lista. Con ancor meno fiducia, ho fatto la verifica di copertura mediante l’apposito servizio, e mi ha dato lo stesso risultato.
In attesa di una svolta, visto che anche il WiMax sembra non arrivare mai, continuo a dare i miei 12 euro mensili a Telecom per una 56k più che insoddisfacente.
PhotoShop bloccato in “Reading Preferences”
27 feb
Le mie disavventure con la suite di programmi Adobe non avranno mai fine. Dopo l’errore 150:30 ed i problemi di licenza in DreamWeaver, oggi aprendo PhotoShop CS4, il programma rimane bloccato e non si avvia. PhotoShop rimane bloccato durante l’avvio, e lo Splash Screen iniziale è fermo durante il passo “Reading Preferences“.
Non resta che forzare l’uscita del programma. Questo errore è causato da un errore nella lettura delle preferenze e impostazioni di PhotoShop. La soluzione a questo problema è un po’ drastica, in quanto comporta l’eliminazione delle preferenze di PhotoShop. Per risolvere questo problema dobbiamo individuare sulla tastiera i tasti CMD, ALT e SHIFT (per Windows premere i tasti CTRL, ALT e SHIFT) e tenerli premuti durante il prossimo avvio di PhotoShop. Vi verrà chiesto se volete veramente cancellare le impostazioni. Rispondete SI ed avrete il vostro PhotoShop nuovamente funzionante.
Io personalmente non ho impostazioni di fondamentale importanza in PhotoShop, ma se qualcuno di voi lo usa quotidianamente per lavoro, potrebbe trovare questa soluzione improponibile. Se conoscete una soluzione meno drastica, vi prego di comunicarmela.
Grazie
jDownloader: RapidShare e MegaUpload senza limiti
27 feb
jDownloader è un utilissimo programma open source scritto completamente in Java, e quindi compatibile con tutti i sistemi operativi che lo supportano. Il suo scopo è quello di scaricare file da siti come RapidShare e MegaUpload, ma anche tanti altri come loro. jDownloader si occuperà di attendere la disponibilità del download al posto nostro, ed effettuerà anche il bypass dei codici CAPTCHA spesso utilizzati da siti del genere.
Ma le novità e le potenzialità di jDownloader non sono finite qui. Esso infatti è in grado di effettuare il download di filmati di YouTube, MegaVideo e quanto altro possiate immaginare. Inoltre ha anche l’opzione per effettuare i download usufruendo di un account premium in vostro possesso. E se invece non possedete un account premium, jDownloader si occuperà di effettuare un cambio di IP per il vostro computer, in modo da evitare controlli e barriere applicati da alcuni siti di File Sharing. Dopo questa breve panoramica per questo meraviglioso software, veniamo ad una breve guida di configurazione ed utilizzo:
Dopo l’installazione, è necessario settare alcune impostazioni iniziali per l’utilizzo del software,
Impostiamo il percorso per i nostri download ed il comportamento che jDownloader dovrà adottare per i file scaricati. Queste semplici impostazioni sono già sufficienti per iniziare Continua >
Generatore di Password
27 feb
Dopo aver visto come creare una password sicura, e come evitare di farsi rubare la propria password, non poteva mancare un programma per la generazione di password robuste, ma allo stesso tempo facili da ricordare.
Il programma da me realizzato, si chiama Mnemonic Password Generator, e ha lo scopo di generare una password diversa per ogni servizio che voi utilizzate. Questa password inoltre, sarà basata su vostri dati personali, e quindi facile da ricordare. Ad esempio, basterà dire al programma che io mi chiamo Mario, nato a Settembre, e che voglio una password per Twitter, ed una possibile password che il programma mi proporrà, potrebbe essere mario09twitter. Come potete vedere questa password è molto facile da ricordare, ma ha tutti gli elementi necessari per durare a lungo contro attacchi di hacker, cracker e malintenzionati.
Mnemonic Password Generator è stato realizzato in Java ed offre tutte i controlli necessari a personalizzare la propria password preferendo facilità o sicurezza. Il programma non fa alcun uso delle password generate e/o dei dati inseriti. Questi ultimi sono richiesti al solo scopo di generare una password che sia adatta a voi, e quindi facile da ricordare. MPG (sigla del programma) memorizza i dati da voi inseriti (ma non Continua >
Password: come evitare il Crack
26 feb
Dopo avervi parlato del Brute Force, delle sue applicazioni e avervi rilasciato un esempio di codice Java che lo implementa, vi voglio parlare delle PASSWORD, della loro importanza, e soprattutto dell’attenzione che bisogna avere al momento di sceglierne una.
Analizziamo prima alcuni dati fondamentali:
- Con un semplice programma Java, un tentativo di login presso un sito richiede meno di un secondo;
- La lunghezza media delle password più usate è di 6 caratteri (il minimo che forum come phpBB permettono);
- Se nella password di 6 caratteri sono usati solo numeri (data di nascita) i casi possibili sono 106 = 1000000;
- Se nella password di 6 caratteri sono usate solo lettere, i casi possibili sono 216 = 85766121;
- Se la password è una parola italiana di senso compiuto, abbiamo questi valori relativi alla lunghezza:
- Parole italiane di 6 caratteri: 13545
- Parole italiane di 7 caratteri: 25802
- Parole italiane di 8 caratteri: 35409
- Parole italiane di 9 caratteri: 46069
- Parole italiane di 10 caratteri: 47932
Detto questo, i conti sono presto fatti. Un possibile malintenzionato, sicuramente partirebbe a tentare le password che richiedono il minor numero di tentativi:
Attacco a dizionarioQuesto tipo di attacco, è uno dei più semplici ma anche dei più riusciti. Se non vi sembra possibile, provate a ricordare, se avete mai Continua >
Google, YouTube, Wikipedia insieme in People Finder
23 feb
Oggi voglio condividere con voi il progetto che ho realizzato con alcuni compagni di Università qualche tempo fa. People Finder, questo è il nome del progetto, nasce dall’esigenza di molti di avere a disposizioni informazioni di diverso genere a natura, tutto su un’unica pagina Web.
People Finder realizza proprio questo. People Finder permette di effettuare ricerche su personaggi famosi (ma potete spaziare su qualsiasi genere vogliate), e restituisce i risultati della ricerca, interrogando a sua volta Google Immagini, YouTube e Wikipedia. Come potete vedere dall’immagine seguente, tutte le informazioni vengono visualizzate in una singola pagina, e messe così a completa disposizione dell’utente finale. In particolare, in People Finder, potrete navigare tra le prima 16 immagini restituite da Google inerenti al personaggio desiderato, o tra 4 video dello stesso, ognuno avente un diverso criterio di valutazione, il tutto effettuando una sola ricerca, e su una sola pagina.
People Finder è stato realizzato in Java ed usa diverse librerie esterne per la gestione di Google, YouTube ed altro ancora. Per essere reso disponibile a tutti gli utenti, senza necessità di software di installazione, è stato sviluppato con tecnologia Web, e quindi il fulcro di People Finder è proprio la pagina JSP che si visualizza al momento della ricerca. Continua >
Rubik’s 360
23 feb
Sono sempre stato un appassionato dei giochi d’ingegno e per i rompicapo in generale, e tra questi, non poteva di certo mancare il famosissimo Cubo di Rubik. Ma da un po’ di tempo, Rubik, ha tirato fuori il suo nuovo rompicapo, chiamato Rubik’s 360. A differenza dei precedenti, non si presenta come un cubo, ma come una sfera, da cui il nome “360″. Scopo di questo rompicapo non è dunque quello di allineare dei cubetti, ma di portare sei palline (i colori sono gli stessi delle facce dei cubi delle altre edizioni) nelle sezioni esterne della sfera.
Com’è fatto il Rubik’s 360:
Questo rompicapo è costituito da tre sfere concentriche:
- la prima sfera presenta un foro e contiene, nella posizione iniziale, le sei palline. Queste possono passare attraverso il foro per raggiungere la seconda sfera
- la seconda sfera possiede due fori, ciascuno dei quali permette alle palline di raggiungere le sezioni esterne di un emisfero della terza sfera
- la terza sfera possiede sei sezioni esterne, abbinate dal colore alle palline, e due sezioni rotanti nere che permettono di intrappolare le palline che hanno raggiunto la loro destinazione.
Ciò che rende complicata la risoluzione del gioco è la presenza di alcuni contrappesi nelle prime due sfere Continua >