반응형
 포스팅 썸네일 이미지

War Games/hack-ctf

[hact-ctf] sysrop

문제소스 __int64 __fastcall main(__int64 a1, char **a2, char **a3) { char buf; // [rsp+0h] [rbp-10h] setvbuf(stdout, 0LL, 2, 0LL); setvbuf(stdin, 0LL, 2, 0LL); read(0, &buf, 0x78uLL); return 0LL; } 1. 길이 제한이 0x78인 read함수 호출, 출력함수가 없다. 보호기법 Canary : No NX : Yes PIE : No Fortify : No RelRO : Partial 문제 분석 및 페이로드 ROP를 진행해야 되는데 길이 제한이 있다. 그래서 main으로 다시 돌아가 read함수를 재활용 했다. 출력함수가 없어서 libc leak이 힘들다. 그래서 문..

2021.05.12 게시됨

 포스팅 썸네일 이미지

War Games/hack-ctf

[hactctf] RTC

문제 소스 int __cdecl main(int argc, const char **argv, const char **envp) { char buf; // [rsp+0h] [rbp-40h] setvbuf(stdin, 0LL, 2, 0LL); write(1, "Hey, ROP! What's Up?\n", 0x15uLL); return read(0, &buf, 0x200uLL); } 보호기법 gdb-peda$ checksec CANARY : disabled FORTIFY : disabled NX : ENABLED PIE : disabled RELRO : Partial 문제 분석 및 페이로드 일반적인 ROP와 다르게 gadget이 부족하다는 것을 알 수 있다. --> RTC이용 /bin/sh를 bss영역에 써주..

2021.04.19 게시됨

반응형