hint 파일을 열어보니 두둥!!!!


main함수가 주어져 있다.!


가장 먼저!!


 level4의  SetUID가 걸린 파일을 찾아보자!!


find / -perm -4000 -user level4 2> /dev/null


그곳 에서 나온 파일까지 실행시켜 보면





hint에서 나온 코드의 파일 /bin/autodig에 SetUID가 걸려있고


실행해 보면 코드에서도 볼 수 있듯 결과가 출력이 된다.

(Q. autodig에 대한 인수를 따로 전해주지 않았음에도 불구하고...실행이..된다..?)




아 자세히 보니

 more hints가 있다.


- 동시에 여러 명령어를 사용하려면?

- 문자열 형태로 명령어를 전달하려면?



첫번째 힌트에 대한 답은 


리눅스에서 여러명령어를 한 줄에 내릴 때는 ;(세미콜론)을 이용한다.


두번째 힌트에 대한 답은


자신이 전하고자 하는 명령어를 ""(큰따옴표)로 묶어 전달해야 한다.


답이 나왔다...


bin 파일 내에서 autodig를 실행시킬때 인자를 2개를 전달해 주어야 하는데


큰 따옴표로 묶지 않고


autodig yo; my-pass    입력 시

 


level3의 패스워드가 주어진다. 왜냐하면 

구글 왈!!(구글신 ㅠㅠㅠ


autodig 프로그램이 yo를 가지고 실행이 되고

(위의 인수를 따로 주지 않아도 실행이 되던것...이 이해가 안되서...이것도 그닥 이해는 안간다)

자동종료되어 버리고 ;를 통해 다음 명령어인 

my-pass를 실행해 level3의 비밀번호가 나온 것이라고 한다.

따라서

"  " 는 문자열로 묶어 인수를 함수에 전달해 주는 역할을 한다.


'FTZ' 카테고리의 다른 글

Level6  (0) 2016.09.03
Level5  (0) 2016.09.03
Level4  (0) 2016.09.03
Level2  (0) 2016.09.03
Level1  (0) 2016.09.02

+ Recent posts