티스토리 뷰

바로 시작해봅시다 !

io.smashthestack.org 에 ssh로 접속 후, cd /levels/ 명령을 날리고 풀어야 될 문제를 확인해봅니다 !

음... 파일이 너무 많아서 그냥 조건을 줘서 하나만 나오게했구요. 실행해보면 3개의 숫자를 넣으랍니다. 넣어보니 아무것도 안떠서... BOF인가... 하구 1000개를 넣어보니 크래쉬가 안나네요... 왠지 첨부터 FSB는 아닐 것 같아서 그냥 바로 gdb 고고 !

코드가 나오는데 차근차근 해석해봅시다. 처음 이니까요 :)

윗 부분은 그냥 스택 만들고 변수를 위한 크기 할당하구요. 빨간색으로 네모 친 부분을 살펴보면,

(gdb) x/s 0x8048610

0x8048610: "Enter the 3 digit pascode to enter:

위와 같이 나옵니다. 그냥 말 그대로 출력을 합니다.

다음 줄을 살펴보면,

(gdb) x/s 0x8049838

0x8049838 <stdin@@GLIBC_2.0>:    "@", <incomplete sequence \375\267>

(gdb) x/s 0x8048635

0x8048635: "%d"

그냥 읽어드려서 [esp+0x1c]에 저장하는 부분입니다. 디컴파일하게 되면,

fscanf(stdin, "%d", 변수); 정도 되겠죠?

뭐 밑에 부분은 cmp 변수, 0x10f 해서 맞으면 밑에 부분의 execve를 실행하면서 쉘을 줍니다.

더 이상 하는건 여러분들을 무시하는 것 같아서 생략하고 바로 풀겠습니다 !

hgvbmkQIHavkGg5wyk 네요 !

이제 2번으로 가봅시다 ~~ !

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함