Re: BoF en inet_network(), afecta a Servidor DNS: BIND

Bueno volviendo al tema del Estudio de un bug, y posteriormente el la Creacion de un exploit para el mismo. Lamento informarles que no he dado con nada en este bug pero bueno.

Si nos consentramos en lo que sabemos, lo unico que cambio en la version vulnerable del codigo es que el siguiente fracmento de Cofigo cambio de lugar:
Código
 if (pp >= parts + 4 || val > 0xffU)
return (INADDR_NONE);

De adentro del if, a afuera del mismo:

Version Vulnerable
Código
 if (!digit)
return (INADDR_NONE);
if (*cp == '.') {
if (pp >= parts + 4 || val > 0xffU)
return (INADDR_NONE);
*pp++ = val, cp++;
goto again;


Version NO Vulnerable
Código
 if (!digit)
return (INADDR_NONE);
if (pp >= parts + 4 || val > 0xffU)
return (INADDR_NONE);
if (*cp == '.') {
*pp++ = val, cp++;
goto again;

Ok, aqui lo importante es preguntarnos como cambia el funcionamiento del programa Antes y despues huh.

Bien segun lo he analizado mientras voy en en el camion, mientras como, y hasta mientras sueño el resultado operativo del codigo sigue siendo el mismo, si no es asi que alguien me lo haga saber y me diga lo ciego que estoy.

Lo unico que noto es que el Procesador se ahorra unas cuantas Instrucciones en caso de que la la Condicion del if sea verdadera, en caso contrareo Todo trabaja Igual. rolleyes o no huh

Bueno hasta el momento hago un recuento de lo que he Conseguido hasta el momento.

Es posible Insertarle un valor Invalido para Obtener un Resultado Valido:

Bueno entre las pruebas que estuve haciendo he visto que la aplicacion que tengo de prueba puede recivir cadenas como las que siguen sin colgarse:

Código:
%./test_network 0xfffff00000011.0xfabcd000000003.0xa.0x90
0x11030a90

pero no nos ganamos nada ya que no ponemos nada en la memoria, las ffff se pierden en el corrimiento de bits hacia la izquierda dentro del microprocesador. sad

Lo cual puede representar un consumo de recursos en el servidor BIND, o el programa que use la funcion inet_network() vulnerale esto solo en caso de que se le envie constantememente cadenas Invalidas como las que mostre obviamente de mayor longitud ya que el Procesador tendria que estar dentro del mismo ciclo mientras le manden estas cadenas.



Un saludo!!

Comentarios

Entradas populares de este blog

Clave WPA2 por Defecto de equipos TotalPlay (Huawei HG8245H)

Cable modem Ubee - WPA2 y WPS por defecto

Telcel - 2.8 GB WA - ¿Que significa?