
IDA에 넣은 후 F5 눌러서 Pseudocode 확인
int v5, v5 = 67305985
입력으로 문자열을 45byte 받아옴
v5가 -559038737이여야 함
(-559038737 == Hex값으로 0xDEADBEEF)


main 함수를 disassemble한 결과
fgets함수 이후인 main+44에 break point를 걸고 실행시킨 후에 s의 주소값을 알아오려 했으나 실행이 안됨
IDA에서 s: [esp+4h][ebp-34h]
v5 [esp+2Ch][ebp-Ch]라고 함
2C-4=40
s와 v5의 간격이 40바이트
fgets 함수에서 45바이트를 입력받으니 v5를 덮을 수 있음
40 byte를 문자열로 덮고 0xdeadbeef를 리틀엔디안 형식으로 써주기


문제에 써져있는 곳으로 remote 사용하여 연결
payload 작성하고
sendline 사용하여 “payload\n”이 송신될 수 있도록 함
interactive로 연결이 맺어진 객체와 상호작용 할 수 있도록 함

셸 획득
ls로 파일 확인하고
cat 명령어로 flag 확인