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..
http://shell-storm.org/repo/CTF/CodeGate-2014/AngryDoraemon-250/ CodeGate 2014 문제를 다시 풀어봤다. Menu에서 4를 선택하면 나오는 MOUSE 부분에서 Overflow가 난다. 12345678910111213141516171819202122232425262728293031323334353637383940int __cdecl sub_8048FC6(int fd){ int v1; // edx@3 int v2; // ecx@3 int v3; // eax@4 size_t v4; // ST1C_4@4 int result; // eax@5 int v6; // [sp+18h] [bp-20h]@1 int buf; // [sp+22h] [bp-16h]@1 ..
JMP ESP 쓰면 됨. 내 서버가 없어서 친구서버 빌려 Reverse Shellcode를 통하여 품. 123080483dc : 80483dc: 8d 7f 06 lea 0x6(%edi),%edi 80483df: ff e7 jmp *%edics 1234567891011121314151617181920212223242526272829303132333435363738#!/usr/bin/env python#-*-coding:utf8-*-from socket import *from struct import * p = lambda x : pack("
보호되어 있는 글입니다.