pwnable Toddler`s Bottle - flag
문제파악
이번 문제는 리버싱을 해야 한다는 것을 친절하게 문제에서 알려준다.

해당 바이너리를 실행해 보면 malloc을 한 후 strcpy를 통해 flag를 복사할 것이라고 알려준다. 이를 힌트로 문자열 검색을 통해서 함수의 진행을 파악할 생각으로 IDA를 켰다.

IDA로 분석을 시도 했는데.. 함수는 4개 뿐이고 내용이 심히 보기 힘들었다. 나름 분석을 한다고 시도는 했지만 분기문이 너무나도 많고 결정적으로 실행 했을 때 보여준 문자열을 찾을 수가 없었다. 하지만 뭔가 의미 있어 보이는 upx.sf.net 문자를 살펴보는데 UPX executable pecker라는 문자열을 hex view에서 확인할 수 있었다. 검색을 해보니 UPX라는 바이너리 패킹 툴이 있었고 이 툴을 사용하면 언패킹 또한 가능한 것을 알 수 있었다.

언패킹을 수행하면 다음과 같은 창이 뜨고 원래의 바이너리가 언패킹 되면서 수정된다. 이 수정된 파일을 IDA로 분석 해보면 아래와 같이 분석이 아주 용이한 평범한 바이너리 파일 내용을 볼 수 있다. 이제는 별 어려움 없이 플래그를 찾을 수 있다.

댓글남기기