System/pwnable.kr

pwnable.kr bof

언우s 2018. 4. 4. 09:38

bof

bof 문제의 코드다.

key라는 변수에 0xdeadbeef가 저장되어 있는데 그 값을 0xcafebabe로 바꾸면 쉘이 따지는 코드다.

이것은 func함수의 어셈블리어다.

이것을 보면 ebp-0x2c에 입력을 한다.

그리고 key 변수는 ebp+0x8에 있다.

0x2c=44 이고 0x8=8 이므로 버퍼 주소와 key 변수가 있는 주소는 44+8=52 만큼의 차이가 있다.

그러므로 52만큼의 쓰레기값을 주고 0xcafebabe를 줘서 key 변수를 바꿨다.

id 명령어를 사용하면 쉘을 딴 것을 확인할 수 있다.