티스토리 뷰

pwnable/FTZ

[HackerSchool FTZ] Level3 write-up

ba0bab 2017. 12. 16. 04:35




FTZ level3

pw : Can you fly?



level3입니다.



힌트가 있습니다.


음.. 먼저 100바이트의 cmd 배열이 선언 되어있고, 인자가 2개 입력되지 않으면 에러가 출력되고 프로그램이 종료됩니다.


Strcpy()함수와 strcat()함수를 이용해서 코드를 보면 dig @”인자로받은값”+version.blind chaos txt가 될 것 입니다. 그리고 이 조합된 명령어가 system함수로 실행이 됩니다.


힌트에 있는 동시에 여러 명령어를 사용하려면? 문자열 형태로 명령어를 전달하려면?을 참고하여 문자열 형태로 동시에 여러 명령어를 사용한다는 조건을 충족하면 되는 것 같습니다.


그리고 이 코드의 실행파일은 level4의 setuid가 걸려있습니다. 이 실행파일을 찾아보면,



실행파일은 /bin/autodig입니다. 실행을 시켜보면,



어랏? 아까봤던 오류입니다. ! 인자를 2개 이상 입력해야지 오류가 안 납니다.



이제는 argc가 2개이므로 if문에 걸리진 않습니다. 이제 인자값을 바꿔서 공격을 해봅시다.


* dig 명령어 기본 문법

1

[root@web ~]# dig [@server] [domain] [query type]


주소는 localhost를 쓰면 됩니다. 그리고 ;를 이용하여 명령어를 더 쓸 수 있는데 my-pass를 써줍니다.




Level4 Password is “suck my brain”.

'pwnable > FTZ' 카테고리의 다른 글

[Hackerschool FTZ] Level6 write-up  (0) 2017.12.31
[Hackerschool FTZ] Level5 write-up  (0) 2017.12.31
[Hackerschool FTZ] Level4 write-up  (0) 2017.12.31
[HackerSchool FTZ] Level2 write-up  (0) 2017.12.16
[HackerSchool FTZ] Level1 write-up  (0) 2017.12.16
Comments