####################################################################### Luigi Auriemma Applicazione: Painkiller http://www.painkillergame.com Versioni: <= 1.35 Piattaforme: Windows Bug: buffer-overflow limitato Exploitation: remoto, contro il server (in-game) Data: 02 Feb 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bug 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Painkiller e' un famoso gioco FPS sviluppato da People can Fly (http://www.peoplecanfly.com) e pubblicato da DreamCatcher (http://www.dreamcatcher.com). Il gioco e' stato rilasciato ad Aprile 2004. ####################################################################### ====== 2) Bug ====== Il bug riguarda il buffer che deve contenere l'hash della cd-key per l'autorizzazione online tramite Gamespy. Questo buffer e' limitato a 100 bytes (l'hash della cd-key e' lungo 72 caratteri), quindi se un attacker utilizza un hash piu' grande e' capace di causare un buffer-overflow. Comunque esistono due limitazioni per lo sfruttamento di questo bug, il primo e' che solo i caratteri alfanumerici sono permessi (1-9, A-Z e a-z) mentre il secondo non e' molto importante dal momento che essendo un in-game bug se un server e' protetto da password l'attacker deve conoscerla. ####################################################################### =========== 3) The Code =========== http://aluigi.org/poc/painkkeybof.zip ####################################################################### ====== 4) Fix ====== Versione 1.61. #######################################################################