Step 1: Normal Execution1/5
Source Code
Vulnerable
vulnerable_program.cGCC x86 (32-bit Stack)
void process_input() { char buffer[8]; // 8 bytes allocated
printf("Enter Data:"); gets(buffer); // DANGER: No bounds return; // Jumps to Return Address
}
Inject ≤ 8 bytes to verify safe storage.
Payload Size:5 / 16 B
1B8B Limit16B Max
Payload Stream:SAFE
AAAAA
main()Normal Flow
0xH4CK3D
hacker_shell()Root Access
System Memory Stack
Return Address Pointer[4 Bytes]
0x080484b6
Physical Buffer Boundary
char buffer[8][8 Bytes]
B0
B1
B2
B3
B4
B5
B6
B7
System Execution Console
tty1> SYSTEM BOOT... MEMORY ALLOCATED AT 0x08048000.> READY: Enter payload to test buffer limits.