In che modo il worm "Blaster" ha attivato il buffer overflow?

5

Nel libro "The Security Development Lifecycle", Michael Howard ha scritto:

Take as an example the coding bug in Windows RPC/DCOM that the Blaster worm took advantage of (Microsoft 2003). The defective code looks like this:

HRESULT GetMachineName(WCHAR *pwszPath,
     WCHAR  wszMachineName[N + 1]) {
     LPWSTR pwszServerName = wszMachineName;
     while (*pwszPath != L'\' )
         *pwszServerName++ = *pwszPath++;   
     ... }

In this code, the attacker controls the pwszPath argument so that she can overflow the wszMachineName buffer. This code bug was not picked up by any tools available within Microsoft...

Ho implementato molti codici come nell'esempio precedente, ma non riesco a trovare nulla di sbagliato con esso e dopo aver testato il codice precedente non riesco ancora a trovare un modo di Overflow wszMachineName ma come ha menzionato questo codice è vulnerabile a buffer overflow.

Quindi la mia domanda è: come può un utente malintenzionato trarre vantaggio dal codice di cui sopra, come ha fatto il worm blaster ?! Ho passato un gran numero di 'AAAA per programmare ma, ma continua senza crash o problemi.

    
posta ᔕIᑎᗩ KᗩᖇᐯᗩᑎᗪI 24.11.2016 - 22:30
fonte

1 risposta

3

Se hai il controllo su pwszPath , puoi passare una stringa molto grande per superare il buffer.

Non sono sicuro di cos'altro dire.

    
risposta data 24.11.2016 - 22:36
fonte

Leggi altre domande sui tag