-
[Binary Exploitation] BufferOverflow #2CTF write_up/NACTF 2019. 9. 24. 00:20
이문제를 풀때 pwn 공부한지 얼마 되지 않았고 실전 CTF 문제풀이는 이번 대회가 처음이였어서 좀 애를 먹은 문제 입니다.
.c 코드를 확인해 보겠습니다.
이전 문제들과 다른점은 win함수에 인자값이 추가 됬다는 점입니다.
IDA 32bit로 한번 확인해 보겠습니다.
일단 입력 하게 되는 vuln의 입력 변수인 s의 크기를 알아보겠습니다.
0x18 = 24입니다.
SFP와 RET를 알아보겠습니다.
SFP : 4 // RET : 4
필수로 필요한 win함수의 주소를 알아보겠습니다.
0x080491C2 입니다.
이게 익스 코드를 작성 할것인데.. 인자값을 넘겨줘야 합니다.
아래와 같이 페이로드를 쓰면 될것 같습니다.
s[dummy 24] + SFP[dummy 4] + RET[win주소 4] + dummy[4] +인자1[4] + 인자2[4] 형식으로 값을 넘기면 될 것 같습니다.
또한 인자값중 1번이 int64() 형인것을 감안해서 p32가 아닌 p64로 코드를 작성하면 될 것 같습니다.
Exploit code는 아래와 같습니다.
Flag : nactf{PwN_th3_4rG5_T0o_Ky3v7Ddg}
'CTF write_up > NACTF' 카테고리의 다른 글
[Binary Exploitation] Format #1 (0) 2019.09.24 [Binary Exploitation] Format #0 (0) 2019.09.24 [Binary Exploitation] BufferOverflow #1 (0) 2019.09.23 [Binary Exploitation] BufferOverflow #0 (0) 2019.09.23 [Forensics] Phuzzy Photo (0) 2019.09.23