CTF write_up/Hack CTF
[Pwn] 1996
ws1004
2019. 9. 24. 01:28
200점 치고는 매우 쉬운 문제였다.
입력한 값에 =이 붙어서 출력이 된다.
딱히 기법을 감안하면서 풀지 않아도 될 것 같습니다.
IDA 64bit을 이용해서 분석해 보겠습니다.
하나는 main 함수와 하나는 bash 쉘이 있을 것 같다.
name이라는 변수에 입력을 하고 =을 붙입니다.
getenv함수가 있지만 입력한 값에 대한 환경변수를 가져 오는 구문 인거 같다 정도만 알면 될 것 같습니다.
예상 그래도 쉘이있습니다.
name의 크기 + SFP 만큼 dummy값을 넣고 RET 자리에 spawn_shell 주소를 넣으면 될것 같습니다.
name 크기 0x410 = 1040 + SFP = 1048
spawn_shell함수 주소 : 0x400897
이제 exploit code를 작성해 보겠습니다.
Flag : HackCTF{b29a2800780d85cfc346}