이번 문제는 헤매기는 한참 해멨는데 정작 답이 보인 후로는 순식간에 풀 수 있었다.


gdb에서 strings를 사용해 문자열을 확인해 보니 UPX!가 보인다.

UPX는 패킹의 일종이다. 이 패킹은 인터넷에 오픈되어있으니 다운받아 패킹을 풀어보자.

(http://upx.sourceforge.net/download/00-OLD-VERSIONS/)




가장 최신버전을 리눅스로 받아, 패킹을 푸는 것에 성공했다.


이를 윈도우로 가지고 와서 IDA를 사용해 디버깅을 해 보았다.


BP는 strcpy에 붙혔다.


strcpy에서 into를 실행하고 레지스터들을 확인해 보았다.

64비트인 만큼 인자들이 레지스터에 들어있을 것이기 때문이다.

보다시피 RDX, RSI에 의심스러운 것이 보인다.




해당 주소를 열어보니

문자열이 보인다.


이것이 플래그다

'pwnable > Toddler's Bottle' 카테고리의 다른 글

[Toddler's Bottle] random  (0) 2018.05.21
[Toddler's Bottle] passcode  (0) 2018.05.21
[Toddler's Bottle] bof  (0) 2018.05.19
[Toddler's Bottle] collision  (0) 2018.05.18
[Toddler's Bottle] fd  (0) 2018.05.18
블로그 이미지

천재보다는 범재

,