profile image

L o a d i n g . . .

article thumbnail image
Published 2021. 4. 20. 02:23

1. 문제

보호 기법 확인

NX 가 걸려있다.

 

바이너리를 실행한 모습이다.

입력을 받고, Hello World! 를 출력한다.

 

ida 로 까본 모습이다.

 

 

vulnerable_function() 의 모습이다.

read() 입력 시 버퍼보다 더 입력받아 bof 가 발생한다.

NX + ASLR 걸려있는 상황에서, 주소도 leak 되지 않음 -> ROP

 

 

 

 

2. 문제 해결 과정

기본적인 rop로도 풀 수 있지만, 이번엔 다음과 같이 풀어보았다.

-> got 주소를 하나 leak 한 후 bof 가 터지는 vulnerable_function 으로 다시 돌아가서 leak 했던 주소를 통해 system, binsh 실제 주소를 구한 뒤 페이로드를 다시 보내는 방식

 

필요한 것들을 구해보자!

 

pppr 가젯 

0x8048509

 

offset : 0x88 + 4 = 140

 

 

 

 

3. 익스플로잇

익스플로잇 코드

 

 

성공적으로 쉘을 획득하였다!

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

[HackCTF] Look at me (sysrop)  (0) 2021.04.23
[HackCTF] SysROP  (0) 2021.04.23
[HackCTF] Gift  (0) 2021.04.19
[HackCTF] Look at me  (0) 2021.04.19
[HackCTF] Random Key  (0) 2021.04.19
복사했습니다!