¿Cómo se desbordaron los búferes del gusano "Blaster"?

5

En el libro "El ciclo de vida del desarrollo de la seguridad", Michael Howard escribió:

  

Tomemos como ejemplo el error de codificación en Windows RPC / DCOM que el gusano Blaster aprovechó (Microsoft 2003). El código defectuoso   se ve así:

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

En este código, el atacante controla el argumento pwszPath para que ella    puede desbordar el búfer wszMachineName. Este error de código no fue elegido    por cualquier herramienta disponible dentro de Microsoft ...

He implementado muchos códigos como el ejemplo anterior anteriormente, pero no puedo encontrar ningún error y, después de probar el código anterior, todavía no puedo encontrar una manera de desbordar wszMachineName , pero como mencionó, este código es vulnerable a desbordamiento de búfer.

Entonces, mi pregunta es: ¿Cómo puede un atacante aprovechar el código anterior, como lo hizo el gusano blaster? Pasé una gran cantidad de 'AAAA's para programar pero, pero continúa sin fallas ni problemas.

    
pregunta ᔕIᑎᗩ KᗩᖇᐯᗩᑎᗪI 24.11.2016 - 22:30
fuente

1 respuesta

3

Si tiene control sobre pwszPath , entonces puede pasar una cadena muy grande para superar el búfer.

No estoy seguro de qué más decir.

    
respondido por el schroeder 24.11.2016 - 22:36
fuente

Lea otras preguntas en las etiquetas