Wargame Site/BOF

|Lord Of Bufferoverflow| #15 giant - assassin

믿고걸음 2019. 6. 23. 18:33

 

 

 

 

RET 에 제약조건이 붙어있는 문제이다. \xbf (stack 영역), \x40 (lib 영역) 이 불가하다.

그럼 또 다른 어딘가에 내가 입력한 값을 이용할 영역이 있다는 것이다.

가만 생각해보니 RET 구역에 80 으로 시작하는 코드를 넣어본 적이 있는 것 같다.

 

바로 objdump 를 이용해서 leave 로 코드를 돌렸던 문제이다.

 

 

 

 

RET 이후를 제외하고 SFP 와 Buffer 가 날아가는 문제이다.

만약 RET 를 다시 ret 로 보낸다면 EIP 를 원하는 곳으로 조정할 수 있을 것이다.

 

 


 

작전을 세워보자.

RET 부분을 80 지점의 다른 ret 로 돌리면 다음과 같은 전체적인 그림을 그릴 수 있다.

 

"A"*44 + "\x36\x83\x04\x08" + [ system 주소 ] + [ system 작동 시 RET ] + [ system 작동 시 인자 ]

 


 

앞의 문제 13, 14 레벨을 이해하고나니 이번문제를 푸는게 쉬웠다.