이름만 봐도 알 수 있는 buffer overflow 문제!코드는 다음과 같다.gets 함수 부분에 주석으로 smash me! 가 있는 걸 보니 gets 함수의 취약점을 이용한 buffer overflow 인듯 하다. #include #include #include void func(int key){char overflowme[32];printf("overflow me : ");gets(overflowme);// smash me!if(key == 0xcafebabe){system("/bin/sh");}else{printf("Nah..\n");}}int main(int argc, char* argv[]){func(0xdeadbeef);return 0;} main에서 0xdeadbeef 값을 func에 넘겨..
pwnable.kr 의 두번째 문제 col은 Daddy told me about cool MD5 hash collision today. I wanna do something like that too! col@ubuntu:~$ ls -l total 16 -r-sr-x--- 1 col_pwn col 7341 Jun 11 2014 col -rw-r--r-- 1 root root 555 Jun 12 2014 col.c -r--r----- 1 col_pwn col_pwn 52 Jun 11 2014 flag fd 문제와 마찬가지로 실행가능한 파일, 읽기 가능한 파일, flag 파일이 있다. 우선 col 파일을 실행시켜보면 ./col [passcode] 이런식으로 입력하라고 알려준다. col@ubuntu:~$ ./c..
pwnable.kr 의 첫번째 문제 fd는 Mommy! what is a file descriptor in Linux? ssh로 문제에 접속해서 먼저 파일 목록부터 봤다. fd@ubuntu:~$ ls -ltotal 16-r-sr-x--- 1 fd_pwn fd 7322 Jun 11 2014 fd-rw-r--r-- 1 root root 418 Jun 11 2014 fd.c-r--r----- 1 fd_pwn root 50 Jun 11 2014 flag 이렇게 fd fd.c flag 파일이 있는 것을 볼 수 있다.flag 파일은 Permission denied 가 뜨기 때문에 접근할 수 없지만fd 파일은 실행할 수 있고 fd.c 파일은 읽을 수 있다. fd.c 파일을 먼저 읽어보자. fd@ubuntu:~$ vi..
#goblin 소스[cobolt@localhost cobolt]$ cat goblin.c/* The Lord of the BOF : The Fellowship of the BOF - goblin - small buffer + stdin*/ int main(){ char buffer[16]; gets(buffer); printf("%s\n", buffer);} -stdin : 입력 버퍼 cobolt와 버퍼의 크기는 16으로 똑같다.다른 점은 gets가 있다는 것. # goblin 디스어셈블링(gdb) disas mainDump of assembler code for function main:0x80483f8 :push %ebp0x80483f9 :mov %esp,%ebp0x80483fb :sub $0x10,..
gate는 패스ㅠㅠ id : gremlinpw : hello bof world # coblot 소스 [gremlin@localhost gremlin]$ cat cobolt.c/* The Lord of the BOF : The Fellowship of the BOF - cobolt - small buffer*/ int main(int argc, char *argv[]){ char buffer[16]; if(argc < 2){ printf("argv error\n"); exit(0); } strcpy(buffer, argv[1]); printf("%s\n", buffer);}[gremlin@localhost gremlin]$ gate와 다르게 buffer의 크기가 16으로 줄어들었다. # cobolt 디스어..
1. 네트워크 설정 VMware에서 Lord of BOF(LOB) 이미지 파일을 깔고 실행한다. localhost login : gatePassword : gate /sbin/ifconfig 명령어를 입력하면 IP주소가 뜨게 된다. 네트워크 설정을 위해 netconfig 명령어를 입력하면 이런 창이 뜬다.네트워크 설정을 하고 싶으면 YES 클릭하거나 엔터로 YES를 누르면 IP주소를 입력하라고 뜨지만 따로 IP설정을 해야하는 경우가 아니라면 [ ]부분을 클릭해 체크하면 된다.[ ] -> [ * ] 이렇게 되면 체크가 된 것OK 2. Xshell로 연결하기 연결을 위한 세션을 만들어야한다. 이름은 마음대로.프로토콜은 TELNET으로 바꿔준다.호스트는 처음에 /sbin/ifconfig 명령어를 통해 얻은 I..
- Total
- Today
- Yesterday
- 우분투
- cobolt
- webhacking.kr
- attackme
- C
- 자바
- lob
- pwnable.kr
- c언어
- 명령어
- WebHacking
- ftz
- pwnable
- Los
- my-pass
- lord of sqlinjection
- Lord of SQL Injection
- MySQL
- 설치
- 웹해킹
- 워게임
- java
- BOF
- 0xdeadbeef
- 파이썬
- ubuntu
- wargame.kr
- Python
- wargame
- 1번
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |