Si hay canarios en la pila, ¿por qué el controlador de excepciones no comprueba la integridad de los canarios? ¿Por qué sigue ejecutando un controlador de excepciones manipulado?
¿Corromper un canario provocará una excepción? ¿Es esta una forma común de desencadenar una excepción en los ataques de sobrescritura SEH?
¿Por qué el ataque tiene que establecer la dirección del controlador en "pop-pop-ret" y luego saltar a la dirección de destino, por ejemplo, el código de shell insertado? Quiero decir, ¿por qué no establecer la dirección del controlador directamente en la dirección de destino?
Entiendo que ahora hay mitigación contra tales ataques, todavía quiero saber más detalles. Gracias.
Ref: enlace