해커스쿨 FTZ [LEVEL3] 풀이
M4ndU
해커스쿨 FTZ [LEVEL3] 풀이입니다.
ID | level3
PW | can you fly?
으로 로그인합니다.
$ ls -l
를 이용해 어떤 파일과 어떤 폴더가 있는지 확인해 봅시다.
level3@192.168.31.128's password:
[level3@ftz level3]$ ls -l
total 12
-rw-r--r-- 1 root root 543 Nov 26 2000 hint
drwxr-xr-x 2 root level3 4096 Feb 24 2002 public_html
drwxrwxr-x 2 root level3 4096 Jan 15 2009 tmp
hint 파일이 있습니다.
cat 명령어를 통해 hint 파일의 내용을 확인해 봅시다.
[level3@ftz level3]$ cat hint
다음 코드는 autodig의 소스이다.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
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.
- 동시에 여러 명령어를 사용하려면?
- 문자열 형태로 명령어를 전달하려면?
소스코드가 나왔네요.
어떤 일을 하는지 봅시다.
int main(int argc, char **argv){
인자값을 받습니다.
strcpy( cmd, "dig @" );
strcat( cmd, argv[1] );
strcat( cmd, " version.bind chaos txt");
cmd = "dig @"+argv[1](우리가 입력한 값)+" version.bind chaos txt"
system( cmd );
cmd의 값을 실행합니다.
find 명령어로 autodig를 찾아봅시다.
[level3@ftz level3]$ find / -user level4 -perm -4300 2>/dev/null
/bin/autodig
있네요!
이제 이동해서 autodig에 줄 인자값을 생각해 봅시다.
아까 hint내용을 더보면 이런게 있다.
- 동시에 여러 명령어를 사용하려면?
세미콜론 ; 를 사용하여 동시에 여러 명령어를 사용할 수 있다.
- 문자열 형태로 명령어를 전달하려면?
바로 다음 레벨로 가즈아ㅏㅏㅏㅏㅏㅏㅏㅏ
'System Hacking > FTZ' 카테고리의 다른 글
해커스쿨 FTZ [LEVEL5] 풀이 (2) | 2018.02.07 |
---|---|
해커스쿨 FTZ [LEVEL4] 풀이 (0) | 2018.02.07 |
해커스쿨 FTZ [LEVEL2] 풀이 (0) | 2018.02.07 |
해커스쿨 FTZ [LEVEL1] 풀이 (1) | 2018.02.07 |
해커스쿨 FTZ 로컬서버 구축하는 방법 (2) | 2018.02.06 |