티스토리 뷰




[pwnable.kr] Toddler's Bottle - flag (7 pt) write-up



폰케알 flag문제입니다.


바이너리 파일을 다운받겠습니다..


문제에 packed라는 힌트가 있습니다.


일단, 바이너리 파일을 ida로 열어보겠습니다.


그리고 컨트롤 + 1 을 눌러서 퀵 뷰를 열고 string을 검색하겠습니다.



음 upx. 어쩌구가 있군요. 문제의 내용과 같이 upx로 패킹이 되어있는 파일 같습니다.


UPX(Ultimate Packer for eXecutables)는 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램입니다.


먼저 컴퓨터에 upx를 깔고 바이너리 파일을 언패킹 하도록 하겠습니다.


이렇게 있습니다. 환경변수를 등록하여 cmd에서 해보려고 하니 오류가 떠서 저 폴더에서 그냥 했습니다. 같은 폴더 안에 flag 패킹 파일을 넣어줍니다.



언패킹을 위한 옵션은



-d 입니다.


언패킹 해보겠습니다.



성공적으로 언패킹이 되어 파일 사이즈가 증가 한 것을 볼 수 있습니다.


다시 바이너리 분석을 해야하는데 저는 어리버리 짓 하다가 gdb로 풀었습니다..(ida로 해도 나옴.)


먼저 언패킹된 파일을 ftp로 제 서버에 옮겼습니다.



스트링을 검색해보겠습니다.



플래그가 나옵니다.


ida로는 아까와 같이 퀵 뷰에서 스트링 검색을 해줍니다.



플래그가 나옵니다.

Comments