Pwnable (System Hacking) 워게임 사이트, 문서 정리 [2015, 1, 28] 처음 제작 WARGAME HackerSchool - FTZ워게임 유형 : 원격 접속접속 : ssh ftz.hackerschool.org홈페이지 : http://www.hackerschool.org/Sub_Html/HS_Community/index.html -> Pwnable과 Linux에 처음 접해본다면 꼭 봐야 할 워게임 기본적인 트레이닝 과정과 워게임을 푸는 Level 과정 제공 Level과정은 20까지 있고 Linux기본, BOF, RTL, FSB등 Pwnable 기술 습득 가능 Hackerschool - LOB (RedHat)워게임 유형 : VM 이미지 제공 -> 조금 더 어려운 FTZ라고 생각하면 됨..
문제를 맞추는 게임을 제공함.첫번째 문제를 틀리면 두번째 기회가 주어지는데 그때 오버플로우가 일어남 12345678910111213141516171819202122232425262728293031323334int __cdecl vuln(int fd){ char buf_124; // [sp+14h] [bp-4B4h]@1 //size 124 char v3; // [sp+90h] [bp-438h]@4 char s2; // [sp+490h] [bp-38h]@4 int v5; // [sp+4B8h] [bp-10h]@1 int v6; // [sp+4BCh] [bp-Ch]@1 v6 = 0; v5 = 0; sques(fd, 1); v5 = recv(fd, &buf_124, 124u, 0); addn(&buf_124, ..
mprotect()의 원형 int mprotect(void *addr, size_t len, int prot); 원래 일반적인 ROP기법을 써서 system() 함수를 실행시키는 방법을 주로사용했었다. 그런데 NX-Bit가 걸려있어도 mprotect() 함수를 실행시켜서 Shellcode를 실행시킬 수 있다고 한다. mprotect()함수는 주어진 메모리 영역의 권한을 바꿀 수 있도록 해준다.그렇기 때문에 prot 인자에 7을 주게 되면 RWX권한이 모두 들어가게 된다. + 또한 주의할 점은 void *addr 부분이 0x1000의 배수가 되어야 한다고 한다.+ 사용한 Binary는 예전에 포스팅 했었던 PlaidCTF rop... 이다.http://err0rless313.tistory.com/entry..