Archivi tag: contest

Sun: un milione per l’opensource (sua)

Sun Microsystems Pare che l’opensource stia fruttando davvero parecchio a Sun. Dopo tanto aver tentennato prima di rilasciare Java e Solaris sotto licenze completamente free (as in freedom), ora a Santa Clara sembrano essere davvero lanciati sulla nuova strada. E’ notizia di ieri infatti il lancio del Open Source Community Innovation Awards Program, che premierà i programmatori volontari più attivi e volenterosi sui progetto opensource di Sun (che oltre a OpenOffice, Java e Solaris vedono anche NetBeans, OpenSparc e GlassFish), spartendo tra loro la modica cifra di un milione di dollari. E se Sun può permettersi di “cacciare” una cifra simile, significa che l’opensource di dané ne sta portando davvero tanti, nella Silicon Valley…

A decidere la destinazione dei premi e le modalità di assengazione, paradossalmente, non sarà Sun stessa, ma le comunità di sviluppo avranno la possibilità di adattare al proprio modello di sviluppo il contributo che Sun assegnerà loro.

Naturalmente nella mente di tutti si è fatto il paragone tra l’iniziativa lanciata da Sun e quella che, ormai da alcuni anni, porta avanti Googl, il Summer of Code, che però ha un target leggermente diverso, essendo essenzialmente mirato alla promozione della diffusione della programmazione opensource tra i giovani.

Chissà quanta parte di questo milione di dollari finirà nel nostro paese, dove diversi programmatori conribuiscono attivamente allo sviluppo di OpenOffice.org…

Capture the flag!

ctf-results.pngErano anni che mi veniva proposto di partecipare a “Capture the flag“, il noto contest internazionale di sicurezza informatica. Più per poca fiducia nelle mie competenze tecniche in fatto di sicurezza informatica applicata che per mancanza di tempo, avevo sempre nicchiato ed evitato. Quest’anno invece, ho ceduto all’insistere di Danilo e Stefano, e alle 19 mi sono presentato al DEI, armato di portatile, pronto a tirare le due di notte insieme agli altri membri del team “The Tower of Hanoi” il cui passato glorioso non poteva che mettere soggezione ai diversi nuovi arrivati.

Dopo qualche minuto di disorientamento (la competizione era già iniziata quando sono arrivato, trattenuto da impegni di lavoro, per cui tutti erano troppo concentrati sui propri compiti per spiegare l sottoscritto i rudimenti necessari anche solo per accedere al sistema di test), ho attaccato la sezione dei quiz, insieme alla persona che mi stava vicino. Entrare nell’ottica del gioco non è stato semplice, ma il mio principale contributo, alla fine della serata, è stato la soluzione del seguente contest:

Dato un “key_validator”, era necessario trovare la “chiave” per ottenere il testo decifrato. Dopo un po’ di analisi, abbiamo appurato che si trattava di php offuscato, senza tag di apertura e chiusura, con una serie di complicazioni atte ad evitare che potesse essere lanciato ‘as is’. Il lavoro di “de-offuscamento” ha preso qualche tempo, e alla fine il codice derivante altro non faceva che uno xor tra un testo ed una chiave (encodata base64), generando una parte di codice php, che veniva poi eseguito passando un parametro via $_GET.

<?php

$key = "Hr5yvogypL";
$code  = "LgdbGgIGCBdQLyAXVhIpCxUULyctCx1dBg";
$code .= "4eFR8tLFtOWVYGAVlYaBc1cC0tTQwcCW4V";
$code .= "TwhMQVZeSUF+YQkVWVZPAhoYI2hSFzBWBR";
$code .= "IKBGwgE1FZF08LEAQ4JBcVHRMFBlkGOWpJ";
$code .= "FVkLT0ccHD8tUhVZDU9HWVApKxpaWyEdCB";
$code .= "cXbBgTRxgbChMcAm5zUhUEVhIBDB4vPBtaF";
$code .= "1YKHxwTOTwXHV0GDh4VHy0sW05ZVk9HGhgp";
$code .= "KxlqHQQCOBIVNWBQF1BNTxoLFTg9AFtZVAo";
$code .= "fHBM5PBcXQg==";

$code = base64_decode($code);

for( $j = 0 ; $j < 214 ; $j++ ) {
    $code[ $j ] = $code[ $j ] ^ $key[ $j % 10 ];
}

$result = eval( $code );
$result( $code );

?>

La soluzione paradossalmente è stata chiara nel momento in cui abbiamo inserito una print_r in una serie di punti del codice, tirando fuori il codice contenuto in quella che avevevamo chiamato $code.

Alla fine della gara (le 2:00 in Italia), ci siamo classificati settimi su trentasei squadre partecipanti, con un punteggio tutto sommato discreto. I miei personali complimenti vanno naturalmente ai vincitori (di gran lunga tra l’altro!), i “cioccolatai”, dell’Università degli Studi di Milano. Il CTF, anche quest’anno, è in Italia.