ipwn
보호기법 canary, nx걸려있음, 32bit static 컴파일 된 binary 분석 사실상 pwnable.tw풀면서 분석하기 제일 어렵지 않았나 하는 생각이 듦. vuln : 간단하게 말하자면 수인지, 연산자인지 검증하는 부분에서 첫 문자가 연산자인 경우는 체크하지 않음. vector : 이를 통해서 수들을 관리할 때 index 번호를 조작할 수 있음. -> Out Of Bound. 그 뒤에는 static 컴파일 된 binary이니, 널려있는 가젯들을 통해서 shellcode처럼 가젯잘 써주고 배치해주면 됨. shell. void __cdecl eval(number *num, char oper){ if ( oper == '+' ) { num->num[num->index - 2] += num->num..
보호기법 canary만 걸려있음, 32bit binary 분석 그냥 orw만 열어주고 나머지 syscall 다 닫음 + 입력받은 shellcode 실행한다. 걍 orw shellcode박으면 풀림.
보호기법 아무 보호기법 X, 32bit binary 분석 write syscall로 "Let's start CTF:"라는 문자열 출력 후 read syscall로 현 esp부터 0x3c만큼 값을 입력 받음. vuln : 입력은 0x3c만큼 받는데 ret하기 전에 올려주는 스택은 겨우 0x14 vector : 0. stack주소 leak.(스택에 뿌려져있는 포인터 값을 이용. 즉 uninitialized stack으로 leak)1. shellcode주소로 ret을 덮음. (read syscall 때 스택에 shellcode를 뿌려준 후 ret overwrite)2. shell.