Autor
|
Tema: Desbordamiento de pila moderno (Leído 8,050 veces)
|
Usuario887
Desconectado
Mensajes: 310
|
Hola,
Hay algo que me da mucha curiosidad ultimamente... y es que, si en los sistemas modernos (es decir, sistemas que funcionan en modo protegido) existe toda la integridad que permiten las entradas de la tabla GDT, ¿como es posible explotar un desbordamiento de pila?. Es decir, es facil deducir que tanto la pila como los datos del programa se accederan atraves de entradas en la estructura asignadas como datos. Es decir, si se produce un desbordamiento y, por ejemplo, se reescribe el retorno de la funcion que se ejecuta con una posicion de la misma pila (no podemos escribir en ninguna otra parte) entonces, cuando se acceda a la entrada del segmento de pila en la GDT (de datos) ¿el sistema operativo no detendria el programa por (intentar) ejecutar en un segmento de datos?.
Y si es asi, ¿entonces ya no es posible explotar desbordamientos de pila?.
Dejemos de lado las inconsistencias que podrian haber en un sistema real, yo me refiero especificamente a un sistema de modo protegido que sea ideal.
Saludos.
PD: ¿Estoy siendo demasiado ingenuo preguntando esto? xd
|
|
« Última modificación: 8 Junio 2020, 16:09 pm por marax »
|
En línea
|
|
|
|
Balloffet
Desconectado
Mensajes: 10
|
La respuesta a tu pregunta es doble:
A) yo entiendo que toda stack tiene su propia sección en memoria, es decir, no está en .data, y la Global Descriptor Table corrobora esto mismo al definir los parámetros de acceso y privilegio de cada sección Code, Data y Stack. así que, en rigor, sobreescribir el retorno de una función y almacenar el valor en la stack no es lo mismo que escribir en un segmento de Datos, lo cual nos lleva a...
B) si el procesador detiene o no la ejecución del programa depende de la protección que tenga en tu hipótesis (NX, PIE, ASLR, stackguard/canary, etc.).
|
|
|
En línea
|
|
|
|
Usuario887
Desconectado
Mensajes: 310
|
no está en .data Por supuesto que no... sin embargo, me pregunto precisamente si existe una manera de hacer by pass a tal estructura de seguridad. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
PROBLEMA AL INSTALAR W7 EN PC NUEVO Y MODERNO
Windows
|
spiderat85
|
7
|
5,274
|
4 Febrero 2011, 19:25 pm
por Sk9ITk5Z
|
|
|
El ocio moderno y antiguo
Foro Libre
|
Stakewinner00
|
4
|
4,389
|
15 Mayo 2015, 20:32 pm
por kub0x
|
|
|
Desbordamiento de pila en servidor web
Desarrollo Web
|
warcry.
|
2
|
2,102
|
23 Marzo 2019, 11:46 am
por warcry.
|
|
|
mensaje de pagina web. desbordamiento de pila en la linea...
Programación Visual Basic
|
dgtn
|
0
|
2,152
|
9 Abril 2019, 02:27 am
por dgtn
|
|
|
Ayuda C++ moderno
Programación C/C++
|
dario01dr
|
1
|
3,962
|
25 Junio 2022, 11:26 am
por MAFUS
|
|