본문 바로가기

You are silver 본문

wargame/HackCTF

You are silver

Seongjun_You 2021. 12. 16. 19:31

동작하면 입력을 받고 다시 출력을 해준다.

그 아래 실버라고 출력된다.

 

많이 입력하면 플레티넘이고 나온다. bof의 가능성도 생각했다.

 

 

fsb도 발생한다.

 

 

 

v6변수의 값에 따라 get_tier함수에서 티어가 반환된다.

 

 

 

티어가 챌린저이면 flag를 획득한다.

 

fsb를 이용해 printf의 got주소를 play_game주소로 바꾸는 동시에

v6의 값을 \xff로 바꿔주도록 한다.

 

 

64bit fsb는 32bit랑 다르다.

덮을 주소를 먼저 넣어준다.

6 + len(페이로드 길이) / 8로 인해 %8$ln을 넣어준다.

ln은 3byte를 덮을 것이기 때문에 사용했다.

2byte는 hn 1byte는 hhn이다.

 

A는 패딩이다. 16byte의 길이가 나올 것이다.

덮일 주소를 넣는다.

마지막으로 bof를 일으켜 \xff값을 넣어준다. v6에 \xff가 들어간다.

 

 

'wargame > HackCTF' 카테고리의 다른 글

SysROP  (0) 2021.12.16
Unexploitable #1  (0) 2021.12.16
ROP  (0) 2021.12.13
UAF  (0) 2021.12.13
Pwning  (0) 2021.12.13
Comments