¿Cómo explotaría una vulnerabilidad de desbordamiento de búfer de Linux?

Sí, esta es una pregunta difícil. Si comprende los conceptos básicos de desbordamientos de búfer, entonces el truco aquí es encontrar una zona de aterrizaje para su código de explotación. Sus datos / instrucciones probablemente serán relativamente accesibles desde el puntero de pila (ESP). El truco es encontrar un punto conocido en el programa que lo lleve a esa ubicación (pop ESP; ret … o alguna variante).

Con ASLR, un truco es buscar archivos de biblioteca antiguos (archivos de objetos compartidos) que no fueron compilados con ASLR. Esas bibliotecas cargadas dinámicamente obtendrán la misma dirección cada vez. Ahora, esto depende del programa de destino que utilice dicha biblioteca. No sé de otra manera que pueda obtenerlo “cada vez”, pero a veces son posibles los intentos repetidos porque el objetivo bloqueado se reinicia automáticamente.

Para obtener más detalles, consulte este excelente artículo / tutorial: Tutorial de escritura de exploits, parte 6: Evitar las cookies de pila, SafeSeh, SEHOP, HW DEP y ASLR

Si hay ASLR habilitado, es mucho más difícil explotar el puntero de la pila, a menos que haya otros errores que permitan algún otro tipo de ataque, como código o inyección SQL.

La suya es una buena pregunta y este es un escenario difícil.