Preguntas con etiqueta 'buffer-overflow'

2
respuestas

por qué no puedo sobrescribir el marco de pila

Actualmente estoy leyendo Gray Hat Hacking The Ethical Hacker's Handbook, Fourth Edition y tengo una pregunta con un ejercicio en el libro. El laboratorio "Lab 10 - 1 Overflow of meet.c" es un laboratorio en el que realizamos un desbordamiento d...
hecha 24.02.2016 - 04:49
1
respuesta

¿Protege ASLR contra un desbordamiento de búfer dentro de una estructura?

Supongamos una estructura simple: struct test { char variable[4]; char variable2; } Si escribo algo como variable[4] = '%code%' hay un desbordamiento de búfer que modifica variable2. ¿ASLR evita este desbordamiento de búfer?...
hecha 25.05.2014 - 20:23
1
respuesta

¿Cómo funciona este desbordamiento de búfer simple?

Tengo este código simple vuln.c #include <stdio.h> #include <string.h> int main(int argc, char** argv) { char buffer[500]; strcpy(buffer, argv[1]); printf("%s", buffer); return 0; } Estoy intentando realizar u...
hecha 08.11.2018 - 12:31
3
respuestas

¿Es esta vulnerabilidad de desbordamiento de enteros explotable?

¿Se puede explotar este desbordamiento de enteros y, si la respuesta es sí, cómo puedo explotarlo? char buffer[20]; int len = atoi(argv[1]); if(len < 20) memcpy(buffer,argv[2],len); Si configuro len en -1, la aplicación se bloquea, por...
hecha 17.07.2016 - 23:41
2
respuestas

¿Cómo se aplica la protección de pila en un binario?

En una caja de Linux con una CPU Intel, digamos que compilé por binario con -fstack-protect-all. ¿Cómo se codifica esto en el binario? (¿Puedo ver esta información usando readelf?). ¿Se codifica en cada página / segmento o se agrega al bina...
hecha 03.05.2017 - 00:52
1
respuesta

¿cómo evita ASLR regresar a libc / ROP y ataques similares?

Estoy tratando de entender ASLR y cómo se implementa. Entiendo que en realidad no "evita" que ocurra un desbordamiento de búfer, etc. solo lo hará más difícil. Pero no soy capaz de averiguar cómo previene un retorno a un ataque libc. Por ejemplo...
hecha 04.04.2015 - 04:29
1
respuesta

Cálculo de la dirección de la memoria de desbordamiento de búfer en 64 bits

Tengo una asignación donde debo explotar una vulnerabilidad de desbordamiento de búfer en una máquina remota. Solo tengo permiso de ejecución en el programa, así que no puedo usar gdb. Me las arreglé para tomar el control de la copia y puedo des...
hecha 29.05.2017 - 10:35
1
respuesta

¿Por qué las páginas de la memoria de códigos deben ser legibles?

Entiendo que cada instrucción debe leerse en la CPU para su ejecución, lo que probablemente es la razón por la que las páginas de códigos deben ser "r-x". Pero mi observación es que el comportamiento de leer el código en la CPU para su ejecuc...
hecha 30.11.2016 - 21:36
1
respuesta

Dirección dañada al realizar una cadena ROP de 64 bits

Estoy tratando de aprender el encadenamiento ROP en una máquina Linux de 64 bits y me he encontrado con algunos problemas. Estoy usando el siguiente código para el desbordamiento del búfer (tomado de este tutorial ): #include <string.h>...
hecha 27.11.2016 - 21:41
2
respuestas

Explotar un desbordamiento de búfer sin SIGSEGV

Para mis estudios, trato de crear una carga útil para que se desborde el búfer y llame a una función "secreta" llamada "destino" Este es el código que uso para probar en un i686 #include "stdio.h" #include "string.h" void target() { print...
hecha 01.04.2016 - 15:09