본문 바로가기

버퍼 오버플로우 워게임3

해커스쿨(Hackerschool) FTZ Level15 문제풀이 해커스쿨(Hackerschool) FTZ Level15 문제풀이를 시작하겠습니다. [level15@ftz level15]$ ls attackme hint public_html tmp [level15@ftz level15]$ cat hint #include main() { int crap; int *check; char buf[20]; fgets(buf,45,stdin); if (*check==0xdeadbeef) { setreuid(3096,3096); system("/bin/sh"); } } 이번 문제소스는 아까와 같으나 check 가 포인터 변수 입니다. 저는 deadbeef 가 있는 곳의 주소를 덮어주는 방법을 이용했습니다. (gdb) disas main Dump of assembler code f.. 2011. 5. 10.
해커스쿨(Hackerschool) FTZ Level14 문제풀이 해커스쿨(Hackerschool) FTZ Level14 문제풀이를 시작하겠습니다. [level14@ftz level14]$ ls attackme hint public_html tmp 역시나 공격파일과 힌트파일이 있습니다. 힌트파일을 열어보면 메세지와 공격파일의 소스가 있습니다. [level14@ftz level14]$ cat hint 레벨14 이후로는 mainsource의 문제를 그대로 가져왔습니다. 버퍼 오버플로우, 포맷스트링을 학습하는데는 이 문제들이 최고의 효과를 가져다줍니다. #include #include main() { int crap; int check; char buf[20]; fgets(buf,45,stdin); if (check==0xdeadbeef) { setreuid(3095,309.. 2011. 5. 10.
해커스쿨(Hackerschool) FTZ Level12 문제풀이 해커스쿨(Hackerschool) FTZ Level12 문제풀이를 시작하겠습니다. 역시나 BOF 문제 입니다. 저는 현재 Level15 까지 풀었는데 매우 어려우면서도 재밌더라구요, 근데 힌트를 본게 흠이 라고 생각되서 공부할 겸 복습용으로 올려봅니다. [level12@ftz level12]$ ls attackme hint public_html tmp 역시나 공격해야되는 attackme 파일이 있고 힌트 파일이 있습니다. [level12@ftz level12]$ cat hint #include #include #include int main( void ) { char str[256]; setreuid( 3093, 3093 ); printf( "문장을 입력하세요.\n" ); gets( str ); prin.. 2011. 4. 13.