elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
14 Febrero 2012, 08:24  


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Bugs y Exploits (Moderador: berz3k)
| | |-+  archivos.patch Informacion sobre los bugs
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: archivos.patch Informacion sobre los bugs  (Leído 2,612 veces)
AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
archivos.patch Informacion sobre los bugs
« en: 2 Enero 2010, 16:13 »

Que tal compañeros alguna vez han visto los archivos patch??

Estos archivos es un parche rápido para el código fuente de alguna aplicación.
Corrigen algún error y hacen que sea mas fácil repararlo.

El beneficio de estos archivos es que nos dicen exactamente donde esta el error o los horrores :xD

Un ejemplo de esto lo explico aqui
ntpd stack-based buffer-overflow vulnerability

Segun podremos leer en FreeBSD-SA-09:11.ntpd.asc esta vulnerabilidad
afecta a las aplicaciones ntpd que tengan activado el Autokey usando el modelo de autenticacion.

El parche de este bug esta aqui http://security.FreeBSD.org/patches/SA-09:11/ntpd.patch

Si lo vemos con detalle analizamos parte del código:

Código
Index: contrib/ntp/ntpd/ntp_crypto.c
===================================================================
--- contrib/ntp/ntpd/ntp_crypto.c (revision 192562)
+++ contrib/ntp/ntpd/ntp_crypto.c (working copy)
@@ -570,7 +570,7 @@
peer->issuer = emalloc(vallen + 1);
strcpy(peer->issuer, peer->subject);
temp32 = (fstamp >> 16) & 0xffff;
- sprintf(statstr,
+ snprintf(statstr, NTP_MAXSTRLEN,
"flags 0x%x host %s signature %s", fstamp,
peer->subject, OBJ_nid2ln(temp32));
record_crypto_stats(&peer->srcadr, statstr);
 


Si vemos el resto del parche solo se esta protegiendo a la variable statstr en la cual se escribia anteriormente
con sprintf y fue cambiado por snprintf dicha función si vemos la ayuda controla la cantidad de caracteres
que se escriben sobre ella.

Si vemos el archivo contrib/ntp/ntpd/ntp_crypto.c la variable esta declarada locamente como:

Código
 char statstr[NTP_MAXSTRLEN];

Tiene tamaño fijo y las lineas de código que pueden escribir mas datos de los debidos son los sprintf que
contienen %s en la cadena de formato. Y si vemos el código con detenimiento
veremos que solo existen 5 sprintf que pueden realizar esto.

Ahora habría que ver con detenimiento cual de esas variables cadena son mandadas por el cliente
y ya tendríamos manera de controlar a la maquina remota.

Saludos

« Última modificación: 31 Enero 2010, 16:15 por Anon » En línea

Bien Super Divertido
@wifigdlmx
isseu


Desconectado Desconectado

Mensajes: 304


°º¤ø,¸¸,El conocimiento es poder°º¤ø,¸¸,ø¤º°`°º¤ø,


Ver Perfil WWW
Re: archivos.patch Informacion sobre los bugs
« Respuesta #1 en: 8 Enero 2010, 02:28 »

jjaja muy weno, se me ocurre un Dork:update filetype:patch
En línea

AlbertoBSD
Estudiante y
Colaborador
***
Desconectado Desconectado

Mensajes: 1.955


Anonymous & Paranoid


Ver Perfil WWW
Re: archivos.patch Informacion sobre los bugs
« Respuesta #2 en: 8 Enero 2010, 02:36 »

Fíjate que no lo había pensado asi, ahora también comentar que no siempre hacen el archivo .patch.

Y solo es aplicable a tecnologías opensource, es por eso que no es tan comentado

Saludos
En línea

Bien Super Divertido
@wifigdlmx
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines