호그와트

드림핵 Memory Corruption: Stack Buffer Overflow 설명

영웅*^%&$ 2022. 11. 2. 16:43
728x90

드림핵  Memory Corruption: Stack Buffer Overflow 실습 관련 부분에 대해서 짧게 설명해보겠습니당 (실행 흐름 조작)

// Name: sbof_ret_overwrite.c// Compile: gcc -o sbof_ret_overwrite sbof_ret_overwrite.c -fno-stack-protector#include <stdio.h>#include <stdlib.h>int main(void) { char buf[8]; printf("Overwrite return address with 0x4141414141414141: "); gets(buf); return 0;}   (출처 : https://learn.dreamhack.io/60#8)

주어진 코드는 위와 같습니다 

리턴 주소를 0x4141...뭐 저걸로 채워달라고 합니당 

 

일단 뇌절하는 셈 치고 꽉 채워봅니다. 성공이라고 뜨지 않는군요. 큼 뭐가 문제일까요? 

 

0x41 은 65입니다 따라서 그거에 알맞게 값을 조정합니다 

 

밑에 ret값을 0x41 즉 대문자 A로 전부  채워줍니다  성공이라고 뜬 것을 확인할 수 있습니다 

728x90

'호그와트' 카테고리의 다른 글

코드로 그려보는 개판 1분 전  (1) 2022.11.04
준희는 귀여워?  (0) 2022.11.02
드림핵 Quiz: x86 Assembly 2 정리  (0) 2022.11.01
드림핵 Quiz: x86 Assembly 1  (0) 2022.11.01
어나니머스 해커가 되어봅시다  (2) 2022.10.28