상세 컨텐츠

본문 제목

[HITCON-Training] lab4 : ret2lib

SYSTEM HACKING/CTF, etc

by koharin 2019. 8. 18. 00:42

본문

728x90
반응형

# code

 

 

read 함수에서 256 바이트를 src에 저장하는데,

strcpy 함수에서 이 256 바이트를 크기가 0x38 = 56 바이트인 dest 변수에 복사한다.

이때 overflow 취약점이 발생한다.

 

 

주소의 값을 알고싶은 주소를 입력하면 See_something 함수로 해당 주소의 값을 출력해준다.

주소가 ASLR로 계속 바뀌므로 이것을 이용해 libc 함수의 실행 시 주소를 받아 저장하고 system 함수와의 offset을 알면 system 함수 주소를 구할 수 있다.

 

# 보호기법 확인

 

NX가 걸려있어서 shellcode를 못 올리니 RTL을 사용한다.

 

# offset 구하기

 

 

Printf_system_offset : 0xe8d0

Printf_binsh_offset : 0x11239b

 

# dest에서 return address 거리 구하기

 

 

Dest[ebp-38h]에 위치하므로 SFP 0x38dest의 시작일 것이다.

(사실 디버깅으로 안 구해져서...)

Dest + SFP = 60 바이트

따라서 dest(56) + SFP(4) + return address(4) stack 구조를 갖는다.

 

# exploit

 

 

 

728x90
반응형

'SYSTEM HACKING > CTF, etc' 카테고리의 다른 글

[TAMU 2019] pwn3  (0) 2019.08.23
[tuCTF] shella-easy  (0) 2019.08.23
r0pbaby 풀고 정리  (0) 2019.08.16
[Defcon 2015] r0pbaby  (0) 2019.08.16
[PlaidCTF 2013] ropasaurusrex  (0) 2019.08.15

관련글 더보기