Description:
The program begins by requesting face recognition for a user, scanning their face. During this process, a format string vulnerability can be exploited to overwrite a variable's value.

Protections:
Canary: Prevents buffer overflows
NX (No-eXecute): Disables code execution on the stack
PIE (Position Independent Executable): Randomizes the base address of the binary
Full RELRO: Makes some binary sections read-only
Disassembly and Vulnerability:
The main function initializes several variables, including local_48 with the value 0x1337babe. This variable's value determines whether the delulu() function is called. The function reads user input and prints it without proper format string handling:
printf((char *)&local_38);
This presents a format string vulnerability that can be exploited to change the value of local_48 from 0x1337babe to 0x1337beef.

Solution:
The goal is to make the program call the delulu() function, which reads and prints the contents of the flag.txt file. This is achieved by exploiting the format string vulnerability to modify local_48.

Exploitation Steps:
Identify Vulnerable Index:

Use %p format specifiers to identify the position of 0x1337babe in the stack output.
Determine it is the 6th element.
Overwrite Target Value:

Calculate the required number of characters (0xbeef) to overwrite the last 2 bytes of 0x1337babe.
Use the format string %48879x%7$hn to perform the overwrite.
