diff --git a/binary-exploitation/format-strings/README.md b/binary-exploitation/format-strings/README.md index 5decf15e9..17921fb36 100644 --- a/binary-exploitation/format-strings/README.md +++ b/binary-exploitation/format-strings/README.md @@ -21,7 +21,7 @@ En C **`printf`** es una función que se puede usar para **imprimir** alguna cad Otras funciones vulnerables son **`sprintf()`** y **`fprintf()`**. -La vulnerabilidad aparece cuando un **texto de atacante se usa como el primer argumento** para esta función. El atacante podrá crear una **entrada especial abusando** de las capacidades de la **cadena de formato printf** para leer y **escribir cualquier dato en cualquier dirección (legible/escribible)**. De esta manera, podrá **ejecutar código arbitrario**. +La vulnerabilidad aparece cuando un **texto del atacante se usa como el primer argumento** para esta función. El atacante podrá crear una **entrada especial abusando** de las capacidades de la **cadena de formato printf** para leer y **escribir cualquier dato en cualquier dirección (legible/escribible)**. De esta manera, podrá **ejecutar código arbitrario**. #### Formatters: ```bash @@ -74,11 +74,11 @@ y leerías del primer al cuarto parámetro. O podrías hacer: ```c -printf("$4%x") +printf("%4$x") ``` y leer directamente el cuarto. -Nota que el atacante controla el `pr`**`intf` parámetro, lo que básicamente significa que** su entrada estará en la pila cuando se llame a `printf`, lo que significa que podría escribir direcciones de memoria específicas en la pila. +Nota que el atacante controla el parámetro `pr`**`intf`**, lo que básicamente significa que** su entrada estará en la pila cuando se llame a `printf`, lo que significa que podría escribir direcciones de memoria específicas en la pila. {% hint style="danger" %} Un atacante que controle esta entrada, podrá **agregar direcciones arbitrarias en la pila y hacer que `printf` las acceda**. En la siguiente sección se explicará cómo usar este comportamiento. @@ -241,7 +241,7 @@ Aprende y practica Hacking en GCP: {% endhint %}