Come è possibile leggere in questo post dell'ammoremioh, esiste questo contest in cui si può iscrivere il proprio blog e venire votati dai propri amici.
Il funzionamento del contest è abbastanza semplice: pubblichi sul tuo blog il banner del contest con un codice simile a questo:
sostituendo alle XX l'id che viene assegnato dal contest al vostro blog.
Fatto questo, ogni volta che la pagina del vostro blog viene visitata, viene caricata l'immagine http://www.cerbero.eu/contest/img.php?id=XX. Come vedete, l'estensione PHP non è un'estensione di un file formato immagine, ma di uno script in linguaggio PHP (appunto) che registra la visita sul vostro sito, aumenta di uno il vostro punteggio, valuta la vostra posizione e reindirizza la richiesta ad una corrispondente immagine su un repository, ad esempio http://www.cerbero.eu/contest/images/2.gif se siete in seconda posizione (per le posizioni oltre la 3 non c'è immagine personalizzata, ma restituisce sempre http://www.cerbero.eu/contest/images/default.gif).
L'ammoremioh, accortasi della facilità con cui è possibile imbrogliare a questo contest, ha deciso di avvisarne la promotrice e di farsi cancellare (infatti i voti che aveva ottenuto in più non erano voti onesti). Un comportamento ineccepibile, direi, sia dal punto di vista sportivo che secondo la filosofia hacker (dove quel che si scopre non deve essere usato per il proprio profitto ma solo per migliorare le cose, ove possibile).
La promotrice del contest reagisce al post e all'avviso di Orka accusandola di scorrettezza in questo commento e di aver scritto inesattezze, quando è lei a scrivere inesattezze, visto che il voto a destra non aumenta solo cliccando sul bannerino ma anche solo quando il bannerino viene caricato nella pagina, come spiegato poco prima.
Peccato una tale mancanza di sportività hacker nella promotrice del contest (del resto, visto il suo blog, non si può certo pretendere chissà cosa), soprattutto quando c'è gente che continua a barare alla grande grande e a starsene ben zitta.
Segue spiegazione dell'hacking che se volete vi leggete, altrimenti potete fare a meno :)
L'hacking di questa cosa è piuttosto banale, basterebbe creare una pagina web (chiamiamola scriptmannaro.htm) con questo codice:
e aprire la pagina con il vostro browser preferito. In questo modo avreste un aggiornamento automatico della pagina ogni 5 secondi.
Ci sapete fare con la programmazione e vorreste di più di un misero voto ogni 5 secondi? Avete a disposizione una linea abbastanza veloce, tipo Fastweb o la rete aziendale? Allora qualche semplice linea di codice C# in un'applicazione per console vi risolve il problema:
In pratica fate girare 10 threads che non fanno altro che scaricare all'infinito il file img.php?id=XX dal sito del contest, facendovi scalare la classifica ad una velocità impressionante, soprattutto se lo stesso programma lo fate girare su un parco macchine ben nutrito (una decina) con una linea HDSL.
E' anche possibile (ma inutile ai fini della classifica, come spiegato dal commento della promotrice) barare con le votazioni, con un codice solo di poco più complesso.
Naturalmente chi ha sviluppato gli script per questo contest avrebbe potuto evitare questi problemi (soprattutto l'ultimo) implementando banali sistemi di sicurezza, come registrare l'IP che visita il banner, in modo da registrarne il "voto" una volta sola al giorno o all'ora, verificare l'identità del browser, da confrontare con una tabella dei browser effettivi (il programma in C#, infatti, non si presenta come browser valido, anche se è modificabile perchè lo faccia), verificare il referer della richiesta, ovvero verificare che la richiesta del banner provenga davvero dalla pagina del blog.
Insomma, modi per barare a questo tipo di contest ce ne sono un'infinità, e anche chi progetta questi contest dovrebbe valutare bene questa cosa, e cercare di difendersi al meglio.