study
-
level12. 풀이System hacking training/Hackerschool F.T.Z 2017. 10. 23. 22:35
해커스쿨 F.T.Z level12 풀이입니다. ls -al 로 디렉터리와 파일을 보니 11번과 같이 attackme에 setuid가 걸린것을 확인 할 수 있습니다. 힌트 내용은 이러합니다. 11번의 소스코드와 유사합니다만 이 문제에서는 포맷스트링에 대한 취약점은 없어보입니다. get()의 취약점을 이용하여 공격을 하면 될것같습니다. get()는 문자열의 수를 제한하지 않아 버퍼오버플로우 공격의 대상이 되는 함수입니다. 이런 취약점으로 문제를 풀어보았습니다. 11의 풀이와 마찬가지로 cp 명령어를 이용하여 tmp 디렉토리에 attackme 실행파일을 복사해줍니다. 이는 level12의 디렉토리에서 gdb 사용을 제한한것에 대한 대비책입니다. 복사된 파일을 gdb를 통해 분석해보았습니다. 힌트 내용과는 달리..