Profile

머리정리하는곳

c2w2m2

[Defcon2017] Smash me

Pwnable study 게시판에 첫 게시글이다.


study용 게시판을 새로 만든거인데 CTF Writeup 이랑 별차이 없을듯


smashme



64bit에 아무런 보호기법이 걸려있지 않다.


쉬운문제니 그냥 어셈으로 보자.


보아하니 gets 에서 BOF 가 발생하는것같다. 문제는 저 Smash me ... 문자열이다. 저 문자열과 우리 입력으로 sub_400320함수를 콜하게 된다.


저 함수가 뭐하는 함수인지 알기위해서 저함수에 bp를 걸고 plt got 연산후 got 에 들어있는 값을 보자



got에는 0x0043cd30 이라는 값이 있는것을 볼수있고, 이를 ida에서 확인하면



strstr함수인것 같다.




자 다시 어셈을 보자.


| buf (0x40) | sfp (0x8) | ret


의 스택구조를 가지고 있을것이지만 Smash me outside, how bout dAAAAAAAAAAA 문자열을 꼭 포함해야하므로 


NOP(6) + Shellcode(27) + Smash me outside, how bout dAAAAAAAAAAA(39) 를 넣고 ret 를 buf 시작으로 돌리면 될것같다.


시작으로 돌리기 위한 가젯은 jmp rdi 를 쓸 생각이다





'Pwnable' 카테고리의 다른 글

<asis ctf> mary_morton  (0) 2017.09.11
Pwnable.kr -dragon  (1) 2017.09.09
openCTF <tryo_heap>  (0) 2017.08.28
Babypwn, r0pbaby, casino  (0) 2017.08.28
[overthewire] leviathan  (0) 2017.08.18