pwnable Toddler`s Bottle - flag
문제파악
이번 문제는 리버싱을 해야 한다는 것을 친절하게 문제에서 알려준다.
해당 바이너리를 실행해 보면 malloc을 한 후 strcpy를 통해 flag를 복사할 것이라고 알려준다. 이를 힌트로 문자열 검색
을 통해서 함수의 진행을 파악할 생각으로 IDA를 켰다.
IDA로 분석을 시도 했는데.. 함수는 4개 뿐이고 내용이 심히 보기 힘들었다. 나름 분석을 한다고 시도는 했지만 분기문이 너무나도 많고 결정적으로 실행 했을 때 보여준 문자열을 찾을 수가 없었다. 하지만 뭔가 의미 있어 보이는 upx.sf.net
문자를 살펴보는데 UPX executable pecker라는 문자열을 hex view에서 확인할 수 있었다. 검색을 해보니 UPX라는 바이너리 패킹 툴
이 있었고 이 툴을 사용하면 언패킹 또한 가능한 것을 알 수 있었다.
언패킹을 수행하면 다음과 같은 창이 뜨고 원래의 바이너리가 언패킹 되면서 수정된다. 이 수정된 파일을 IDA로 분석 해보면 아래와 같이 분석이 아주 용이한 평범한 바이너리 파일 내용을 볼 수 있다. 이제는 별 어려움 없이 플래그를 찾을 수 있다.
댓글남기기