elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Hacking
| | |-+  Bugs y Exploits
| | | |-+  Buffer Overflow en web
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Buffer Overflow en web  (Leído 4,181 veces)
seus

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Buffer Overflow en web
« en: 10 Diciembre 2019, 10:50 am »

He leído y entendido los motivos de esta vulnerabilidad, cuando se inserta un valor con un mayor tamaño al que esta asignado en memoria os bytes restantes se pegan en el espacio de memoria contiguo de la memoria. Actualmente estoy prácticando con webgoat y en la sección buffer overflow pide que muestres los datos de los clientes de un hotel que tienen la habitación VIP y entiendo que hay que insertar más caracteres de los que la memoría asignada puede almacenar pero cual es el motivo por el que esta vulnerabilidad muestra los datos? Si yo hago un envio de multitud de caracteres "a" por ejemplo tendria que ser sobreescritos en la memoria del servidor no? Lo que no entiendo es pq muestra los datos al atacante.

En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: Buffer Overflow en web
« Respuesta #1 en: 21 Enero 2020, 04:57 am »

A ver, en web el error que describes suena a un SQL Injection, la unica forma que sea bufferoveflow es que se este utilizando un CGI a un ejecutable con esta vulnerabilidad lo cual es muy POCO comun.

Saludos!
En línea

@XSStringManolo
Hacker/Programador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.399


Turn off the red ligth


Ver Perfil WWW
Re: Buffer Overflow en web
« Respuesta #2 en: 21 Enero 2020, 18:48 pm »

Es un buffer overflow one-by-one. Si me pasas el código de la vuln te la explico en detalle. Es simplemente un bucle al que se le pasa mal el condicional y se pasa del tamaño.

Puede que también tenga un problema con el caracter null terminator del string.
En línea

Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: Buffer Overflow en web
« Respuesta #3 en: 29 Enero 2020, 22:18 pm »

Tal como dice AlbertoBSD eso es típico de una inyección SQL, se produce a traves de un desbordamiento de caracteres, pero no es un buffer overflow como tal, ese término se utiliza para otro tipo de vulnerabilidades, aunque tanto un bof como un sqli caen dentro de la categoría de tipo inyección, uno se hace a traves de consultas sql y el otro a la memoria.

En el caso de la inyección SQL un sitio WEB común tiene el lado de código que se ejecuta del lado del navegador WEB, otro código que se ejecuta del lado del servidor y finalmente la base de datos, hay otros componentes y capas adicionales pero con estos tres basta y sobrea para este ejemplo. Supongamos que el código que está del lado del navegador tiene una regla que dice que no puedes poner mas de 10 caracteres de largo, eso lo puedes evador haciendo modificaciones en tu mismo navegador WEB (modificación del DOM), una ves que evades eso y haces un envío de datos al servidor este llega al código que se ejecuta del lado del servidor, si este no controla correctamente la longitud de caracteres enviará tu texto ingresado directo a la base de datos, ahora, acá es donde se pone interesante este tema:

La base de datos contiene tablas, digamos que existe una tabla "usuarios" y esta tabla tiene una columna llamada "nombre" el cual es el nombre de usuario, todas las columnas de tipo texto en SQL deben tener una longitud asignada, digamos que es de 15 caracteres, ¿donde está el problema?, digamos que te registras en el sistema WEB y pones de nombre: "administrador .", como puedes ver, son 16 caracteres, despues del nombre viene un espacio en blanco y un punto, cuando el sistema WEB desea saber si el usuario ya existe o no para no repetirlo va a buscar si ya se encuentra registrado el usuario "administrador .", pero como la columna solo soporta 15 caracteres entonces la validación SQL omite el punto y queda como "administrador".

En Joomla antiguamente tenía una vulnerabilidad donde podías registrar un nuevo usuario con el nombre de "administrador" e instantaneamente tenías privilegios de administrador y esto sucedía porque registraba un nombre de usuario repetido ya que cuando hacias el registro ponias administrador con muchos espacios en blanco y un caracter cualquier al final, como el sistema decia que no existía tal usuario lo registraba pero SQL recortaba los caracteres sobrantes y quedaba como administrador.

Un desbordamiento de memoria o bufer overflow es cuando sobrepasas un espacio reservado en la memoria ram del equipo pudiendo inyectar secuencia de comandos en lenguaje máquina para hacer que el equipo se comporte como el atacante quiera, por ejemplo, lanzando el interprete de comandos a traves de un puerto a modo de backdoor.

Espero que hayas podido salir de la duda.

Saludos.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
buffer overflow
Ingeniería Inversa
Meg 2 6,062 Último mensaje 6 Febrero 2009, 11:20 am
por Shaddy
Problema, return address buffer overflow (Cómo calcular la dirección del buffer?
Bugs y Exploits
Debci 6 7,690 Último mensaje 7 Abril 2014, 20:00 pm
por soez
Buffer Overflow
Bugs y Exploits
vivianfes 0 2,142 Último mensaje 23 Abril 2019, 23:58 pm
por vivianfes
Deshabilitar proceccion de buffer overflow con gcc
Programación C/C++
nullx100 1 3,665 Último mensaje 30 Abril 2022, 00:00 am
por MCKSys Argentina
Explicación de buffer overflow
Bugs y Exploits
Parado_larga_duracion_ESP 0 5,488 Último mensaje 23 Febrero 2024, 11:43 am
por Parado_larga_duracion_ESP
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines