티스토리 뷰

CTF

SECUINSIDE 2017 - ohce

Eyebrowmoon 2017. 7. 2. 21:41

입력을 받을 때 buffer 크기를 0x20단위로 올림하여 그 크기만큼의 스택 공간을 확보한다. 그런데 이 때 입력을 다 받고 NULL 문자를 박아주지 않기 때문에 strlen 함수를 호출하면 뒤의 stack frame pointer까지 센다.


이를 이용해 echo 함수에서 우선 stack leak을 얻을 수 있다.


다시 echo rev 함수에서 이를 이용하여 rsp를 조작하고, 이를 이용하여 ret instruction이 실행될 때 shellcode로 뛸 수 있도록 세팅해둔다. (세팅은 echo나 메뉴 고를 때 입력을 엄청 길게 넣어서 해두면 된다)


https://github.com/Eyebrowmoon/ctf/blob/master/secuinside2017/ohce/solver.py

'CTF' 카테고리의 다른 글

SCTF 2017 Final - report  (1) 2017.08.24
SECUINSIDE 2017 - ruma  (0) 2017.07.02
SECUINSIDE 2017 - babyheap  (0) 2017.07.02
DEFCON 2017 Quals - faggin  (1) 2017.07.02
Christmas CTF 2016 - Nature Dream  (0) 2016.12.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함