Print Stack Canary

Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Ampliar el stack impreso

Imagina una situación donde un programa vulnerable a desbordamiento de pila puede ejecutar una función puts apuntando a una parte del desbordamiento de pila. El atacante sabe que el primer byte del canary es un byte nulo (\x00) y el resto del canary son bytes aleatorios. Entonces, el atacante puede crear un desbordamiento que sobrescribe la pila hasta justo el primer byte del canary.

Luego, el atacante llama a la funcionalidad de puts en el medio de la carga útil que imprimirá todo el canary (excepto el primer byte nulo).

Con esta información, el atacante puede crear y enviar un nuevo ataque conociendo el canary (en la misma sesión del programa).

Obviamente, esta táctica es muy restringida ya que el atacante necesita poder imprimir el contenido de su carga útil para filtrar el canary y luego ser capaz de crear una nueva carga útil (en la misma sesión del programa) y enviar el desbordamiento de búfer real.

Ejemplos de CTF:

Lectura Arbitraria

Con una lectura arbitraria como la proporcionada por las cadenas de formato, podría ser posible filtrar el canary. Revisa este ejemplo: https://ir0nstone.gitbook.io/notes/types/stack/canaries y puedes leer sobre el abuso de las cadenas de formato para leer direcciones de memoria arbitrarias en:

pageFormat Strings
Aprende hacking en AWS desde cero hasta experto con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Última actualización