hackCTF -Basic_bof #1

2rlo·2021년 7월 21일
0

2020 시스템

목록 보기
6/25
post-thumbnail

IDA에 넣은 후 F5 눌러서 Pseudocode 확인
int v5, v5 = 67305985
입력으로 문자열을 45byte 받아옴
v5가 -559038737이여야 함
(-559038737 == Hex값으로 0xDEADBEEF)![](https://velog.velcdn.com/images%2F2rlo%2Fpost%2F09b2e3c5-292d-4205-a4dd-612fcd1eb672%2Fimage.png)

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 확인

0개의 댓글