####################################################################### Luigi Auriemma Applicazione: Sacrifice Versioni: <= Patch #3 Piattaforme: Windows Bugs: A] format string ovunque B] buffer-overflow in chat Exploitation: remoto, contro gli utenti (broadcast) Data: 01 Aug 2005 Autore: Luigi Auriemma e-mail: aluigi@autistici.org web: aluigi.org ####################################################################### 1) Introduzione 2) Bugs 3) The Code 4) Fix ####################################################################### =============== 1) Introduzione =============== Sacrifice e' un gioco di strategia sviluppato da Shiny Entertainment (http://www.shiny.com) e pubblicato da Interplay (http://www.interplay.com) nel lontano 2000. ####################################################################### ======= 2) Bugs ======= ------------------------ A] format string ovunque ------------------------ Il gioco fa' uso di una funzione di game3d.dll per costruire il testo visualizzato sullo schermo. Questa e' una funzione grafica e quindi e' utilizzata per QUALSIASI testo, menu, chat, messaggio, nome, server... qualsiasi cosa, ed e' vulnerabile ad un format string causato dall'utilizzo errato di vsprintf(). -------------------------- B] buffer-overflow in chat -------------------------- Esiste un buffer-overflow sfruttabile quando il gioco riceve un messaggio nella chat online (peerchat.gamespy.com). Questo bug e' causato dalla copia arbitraria dei caratteri nel messaggio finche' sono piu' grandi di 0x20 (funzione GetWord() in share.dll) in un buffer di soli 256 bytes. ####################################################################### =========== 3) The Code =========== Il modo piu' semplice per sfruttare questi bugs e' utilizzando un normale client IRC per entrare nel canale #GSP!sacrifice sul server peerchat.gamespy.com e poi inviare i seguenti messaggi: A] %n%n%n B] aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEIPX ####################################################################### ====== 4) Fix ====== Il gioco non e' piu' supportato. #######################################################################