Como usar o formato String Attack
Suponha que eu tenha o seguinte código:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int num1 = 0;
int main(int argc, char **argv){
double num2;
int *ptr = &num1;
printf(argv[1]);
if (num1== 2527){
printf("Well done");
}
if(num2 == 4.56)
printf("You are a format string expert");
return 0;
}
Estou tentando entender como fazê-lo corretamente, mas não consigo organizar minha mente com os guias da Internet.
Supõe-se algo como:
./Program %p %p %p %p
e depois
./Program $( printf "\xAA\xAA\xAA\xAA") %.2523d%n
Eu simplesmente não consigo entender isso, por favor me ajude com isso.
O ponto principal disso é explorar uma string em um programa em execução através da função prinft. Preciso imprimir "Bem feito" e "Você é um especialista em cadeias de formato". No meu caso, através do terminal / shell do Linux. Como observa o HuStmpHrrr: isso realmente deveria ser o White Hacking - Software Security