알맹이방
FTZ level 3 본문
level 3
여느 때와 마찬가지로 ls -al 명령으로 어떤 파일들이 있는지 찾아봅니다.
오늘도 hint가 있네요. cat 명령어로 열어봅니다.
위 소스코드는 대충 argc가 2가 아니면 다음 문장을 프린트하라
대충 이런 코드인 것 같은데 다음에 필요하면 다시 보도록 하죠!
more hint
1. 동시에 여러 명령어를 사용하려면?
2. 문자열 형태로 명령어를 전달하려면?
answer
1. 동시에 여러 명령어를 사용하려면 ; 기호를 사용합니다.
2. 문자열 형태로 명령어를 전달하려면 "" 이 쌍따옴표를 사용합니다.
이 more hint가 나중에 어떻게 쓰이는지 궁금하군요.
그리고 setuid 걸린 프로그램을 검색해줍니다.
그랬더니
/bin/autodig가 뜹니다.
오늘의 setuid는 autodig에 있나봅니다.
cd /bin으로 들어가줍니다.
autodig를 쳤는데
argc가 2가 아니면! 이 부분의 소스코드 부분이 실행됐나봅니다.
왜냐면 argv[1] 부분에 인자값을 전달해주지 않아서
argc가 여전히 1인 것이라 추정했다.
어떻게 쳐야지 저 힌트와 명령을 합칠 수 있을까?
일단 우리가 구하고자 하는 것은 'my-pass'
이 'my-pass'는 '/bin/bash' 에 있다.
'/bin/bash'는 'autodig'에 있는 폴더인데
힌트 1 : 여러 개의 명령을 한 번에 수행시키는 방법
--> /bin/bash를 들어가서 my-pass 를 여는 것을 한 번에 하라는 말인가?
힌트 2 : 문자열 형태로 명령어를 전달하라
--> 그지 /bin/bash와 my-pass는 문자긴 하지
합쳐보자.
"/bin/bash;my-pass"
이렇게 하란 소린가?
했더니 오류가 나서 뭐지 했는데 프로그램 이름을 안 써줬다.
프로그램 이름까지 써서 다시 도전
끝!
'SISS (2017-2018) > FTZ' 카테고리의 다른 글
FTZ level 5 (0) | 2018.02.10 |
---|---|
FTZ level 4 (0) | 2018.01.21 |
FTZ level2 (0) | 2018.01.11 |
FTZ level1 (0) | 2018.01.10 |
Training 10 (0) | 2018.01.08 |