HanJeouk의 개인공부 블로그

2017 hitcon training zoo

CTF2018. 3. 14. 14:55

C++ 문제를 한번도 풀어본 적이 없어서 경험삼아 이 문제를 풀어보았다. training이라서 C++ 코드를 줬다.

NX가 꺼져있어서 쉘코드를 사용할 수 있었다.

취약점은 받은 값을 strcpy를 이용해서 복사하기 때문에 overflow가 발생한다. 그래서 다른 청크의 가상함수 포인터를 가리키는 주소를 쉘코드가 있는 주소로 바꿔서 쉘을 딸 수 있었다. 쉘코드는 전역변수에다가 넣어서 따로 주소를 구할 필요도 없었다.

가상함수 포인터가 이중이라서 두번 가리켜줘야 한다.


'CTF' 카테고리의 다른 글

2016 Hitcon sleepy holder [Again]  (0) 2018.03.22
2016 Hitcon secret holder [Again]  (0) 2018.03.21
2018 N1CTF vote  (0) 2018.03.12
2014 Hack.lu CTF OREO  (0) 2018.03.06
TRUSTEALTH CTF sohard  (0) 2018.03.02