Para una presentación (10-15 minutos), se puede hacer la demostración más simple de "bloquear una aplicación" en una máquina.
Por lo general, los desbordamientos de búfer son buenos: generalmente es más fácil hacer que uno dé un resultado de bloqueo que un resultado de compromiso útil.
Y, en general, ver las listas de avisos de seguridad será su mejor apuesta para las vulnerabilidades actuales que afectarán a un servidor, una aplicación o una plataforma.
El documento clásico sobre desbordamientos de búferes es Aplastando la pila por diversión y beneficio . Los ejemplos requieren un sistema basado en Unix, e. sol. Linux.
El ejemplo principal se basa en un programa vulnerable que está marcado para ejecutarse con permisos de superusuario. Luego, un segundo programa explota la vulnerabilidad y termina con un shell que tiene permisos de superusuario.
Si solo necesita realizar un desbordamiento de búfer y demostrar cómo hipotéticamente tomaría el control del EID para inyectar el código shell, entonces podría escribir una pequeña aplicación de C que solo se lea en un solo argumento de la línea de comandos, y luego una función copy () para mover el valor a otra variable. Luego ejecute ese comando con una gran cadena de entrada con un depurador (como GDB en * INX) y podrá verlo fallar y obtener la memoria y la información de registro.
Lea otras preguntas en las etiquetas penetration-test