스터디 그룹/ProjectH4C

ProjectH4C 3개월 3주차 과제 (pwnable.kr - flag)


📖 1) 문제 파악

아마 리버싱 위주가 되는 것 같다. binary만 있으면 된다니 ......

 

64비트구나 ...... 우선 좀 사릴 필요가 있겠다.

 

main (start)는 이렇게 생겨있다. 

진짜 별 게 안보여서 뒤지던 중 Hex View에서 이걸 보았다.

UPX로 패킹이 되어있다.

 

ko.wikipedia.org/wiki/UPX

 

UPX - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. UPX(Ultimate Packer for eXecutables)는 여러 운영체제에서 수많은 파일 포맷을 지원하는 오픈 소스 실행 파일 압축 프로그램이다. GNU 일반 공중 사용 허가서를 통해 공

ko.wikipedia.org

여기서 UPX에 관한 정보를 얻어보자.

결론은 프로그램을 패킹 ( 압축 ) 하는 것이다. 그럼 우리는 언패킹 ( 해제 ) 를 해주면 된다.

애초에 문제에 "Papa brought me a packed present" 라고 하였다.... 문제를 좀 더 자세히 읽어보도록 하자.

 

우분투에는 sudo apt-get install upx 를 통하여 설치하자.

윈도우에는 github.com/upx/upx/releases/tag/v3.95 여기에서 설치해주자.

 

Release UPX 3.95 · upx/upx

Please see the file NEWS for a detailed list of changes. Note: all versions are functionally equivalent, i.e. each version can handle all executable formats, so you only need the file that runs on ...

github.com

이렇게 윈도우랑 우분투에서 언패킹을 진행해주자. 이후 다시 진행해주자.

 

flag가 쉽게 확인된다.


📖 2) 문제 분석

 

이렇게 flag를 확인할 수 있다.


📖 3) 문제 풀이

풀이 완료 ?

 

collision도 꼭 풀도록 하자.

 

지금 중간고사 + 학부 연구생 활동 때문에 포너블을 풀 시간이 많지 않다. 그래도 계속 시간 내서 풀도록 하자.

화이팅 !@