/usr/bin/level5 프로그램은 /tmp 디렉토리에level5.tmp 라는 이름의 임시파일을 생성한다. 이를 이용하여 level6의 권한을 얻어라. 라고 한다. 그럼 우선 /usr/bin 디렉토리에 들어가서 level5 를 실행시켜보자. 분명 이 프로그램은 /tmp 디렉토리에 level5.tmp 라는 이름의 임시파일을 생성한다고 했으나,파일 목록을 보면 .tmp 파일은 없다. 그래서 /tmp 디렉토리에 level5.tmp 라는 파일을 임의로 생성해주고다시 /usr/bin 디렉토리에서 level5 를 실행시켰다. 그 후 /tmp 디렉토리에 있는 level5.tmp 파일을 읽었더니 이런식으로 next password 내용이 덮어씨워졌다. level6 password is what the hell
level4 의 hint를 보면 누군가 /etc/xinetd.d/에 백도어를 심어놓았다.! 라고 뜬다. 디렉토리 이동을 하고 파일 목록을 보면 backdoor가 보인다. backdoor 파일은 read 할 수 있고, 열어보면 [level4@ftz xinetd.d]$ cat backdoorservice finger{disable= noflags= REUSEsocket_type= streamwait= nouser= level5server= /home/level4/tmp/backdoorlog_on_failure+= USERID} 이렇게 뜬다. 다른 파일들을 열었을때는 이런식으로 service (읽은 파일명) { ... } 인데[level4@ftz xinetd.d]$ cat services# default: o..
cat 으로 hint 파일을 열면 [level3@ftz level3]$ cat hint 다음 코드는 autodig의 소스이다. #include #include #include int main(int argc, char **argv){ char cmd[100]; if( argc!=2 ){ printf( "Auto Digger Version 0.9\n" ); printf( "Usage : %s host\n", argv[0] ); exit(0); } strcpy( cmd, "dig @" ); strcat( cmd, argv[1] ); strcat( cmd, " version.bind chaos txt"); system( cmd ); } 이를 이용하여 level4의 권한을 얻어라. more hints.- 동시에..
id = level2 / pw = hacker or cracker level2 문제도 역시나 hint 파일이 있다.cat 명령어를 통해 실행시키면 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... 라고 뜬다. 우선 setuid가 있는 파일을 찾아보자. [level2@ftz level2]$ find / -perm -4000 -user level3 2> /dev/null/usr/bin/editor 이번엔 editor 라는 파일에 setuid가 걸려있다. 텍스트 파일 '편집' 중 이라고 했으니 이 파일이 맞는 것 같다. [level2@ftz bin]$ cd /usr/bin[level2@ftz bin]$ ./editor editor를 실행시키면 vim에 관한게 뜬다.이 때 :!/bin/bash 명령어..
id = level1 pw = level1 level1 문제의 파일들과 권한을 보면 hint 라는 파일이 있다.hint가 있을 것 같다. hint파일을 실행시켜 보면 level2 권한에 setuid가 걸린 파일을 찾는다. 라고 써있다. find 명령어를 통해 찾아보자 [level1@ftz level1]$ find / -perm -4000find: /lost+found: Permission deniedfind: /boot/lost+found: Permission deniedfind: /proc/1/fd: Permission deniedfind: /proc/2/fd: Permission deniedfind: /proc/3/fd: Permission deniedfind: /proc/4/fd: Permissio..
이름만 봐도 알 수 있는 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에 넘겨..
md5_compare 는 VALUE1 과 VALUE2 를 비교해서 같으면 된다.코드를 보면 다음과 같다. v1는 알파벳이어야 하고, v2는 숫자여야 한다.그리고 그 둘을 md5화 했을 때, 다르면 false, 같으면 chk를 해서 flag를 출력한다. PHP는 int형과 char형을 구분하여 선언하지 않는다고 한다. md5 해싱을 할 때 해쉬값이 0e**** 인 경우 두 값을 비교하면 무조건 참이 된다. stack overflow의 이 답변을 참고하여VALUE1에는 QNKCDZO를, VALUE2에는 240610708을 넣어봤더니 문제가 풀렸다.
DB is really GOOD 문제는 이름만 봐도 db와 관련된 문제라는 걸 알 수 있다.BLUEMEMO SYSTEM이 있고 USER name을 치는 곳이 있다.따로 join은 없고 login만 하면 되는데 main 페이지의 코드를 보면 function fschk(f){ if(f.user_id.value=="admin"){ alert("dont access with 'admin'"); return false; }} 이런식으로 user_id의 value가 admin이면 dont access with 'admin' 이 뜬다. 그리고 user_id 마다 memo list 들의 내용이 바뀐다. 여러가지를 넣어봤는데 .는 _가 되고, / 를 넣자 Fatal error가 뜬다. Fatal error 에서 SQLi..
2017.08.26 ~ 2017.08.27 1박 2일동안 POC와 해커스쿨이 공동으로 진행하는 해킹캠프에 다녀왔다. 1시에 자서 5시에 일어난 뒤 2시간 반동안 서울유스호스텔로 이동하는 동안은 정말 피곤했지만도착하니 긴장해서 인가 딱히 피곤하진 않았다. 기대기대~ 11시가 돼서 단체티와 번호표를 받았다. 번호표는 팀을 각자 주어진 번호로 짜기 위함!단체티는 어두운 색이라 정말 맘에 들었다.예전에 해킹캠프를 갔다온 선배들 얘기를 들어보면 팀장이 되면 장기자랑을 해야된다고 해서 팀장을 할까 말까 고민을 많이 했었는데갑자기 뭐 어떻게든 되겠지 하고 손을 들어버렸다ㅎㅋㅋㅋ그래서 본인 포함 총 8명이 한 팀이 되었고, 팀끼리 모여서 팀명을 정해야 하는데다 초면이고 해서 일단 돌아가면서 자기소개 후 팀명 정하기....
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..
- Total
- Today
- Yesterday
- 자바
- MySQL
- lord of sqlinjection
- WebHacking
- 워게임
- wargame.kr
- wargame
- 우분투
- 설치
- attackme
- lob
- Python
- c언어
- 0xdeadbeef
- pwnable.kr
- 명령어
- C
- webhacking.kr
- pwnable
- java
- 파이썬
- BOF
- my-pass
- cobolt
- 1번
- ubuntu
- 웹해킹
- Los
- Lord of SQL Injection
- ftz
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |