티스토리 뷰
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
최근에 올라온 글
최근에 달린 댓글
TAG
- 본선가고싶다
- stack reusing
- pwnable
- fastbin
- FSB
- glibc
- rt_sigreturn
- heap
- TLS
- exit
- HackCTF
- pwable
- fsop
- srop
- tcache
- hacking
- pwnable.tw
- 해킹
- oob
- overflow
- ebp change
- codegate
- fastbindup
- shellcoding
- SQLi
- Total
- Today
- Yesterday