GaGe

FTZ level 3 본문

SISS (2017-2018)/FTZ

FTZ level 3

Sorrel 2018. 1. 21. 01:56

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
Comments