SYSTEM
-
level 14. 풀이System hacking training/Hackerschool F.T.Z 2017. 11. 12. 18:29
엄청난 뻘짓끝에 F.T.Z level 14도 풀이를 했습니다. level14 풀이를 해보았습니다. 로그인 후 level15에 실행 권한이 주어진 파일을 찾은 모습입니다. 간단히 ls -al 명령어로 찾을 수 있습니다. 이번에도 변태같은 attackme가 공격을 바라며 기다리고 있네요 ㅎ 힌트 파일을 열어 힌트를 확인 해 보니.. char buf[20]; 으로 20 byte 크기의 배열이 존재합니다. 하지만 크기에 맞지 않게 fgets() 함수에서는 45 byte 를 입력받고 있는 모습입니다. 따라서 버퍼오버플로우 취약점이 존재하는 것을 확인 할 수 있습니다. 또한 if 문의 조건으로 check 이라는 int 형 변수에 0xdeadbeef 라는 문자가 존재한다면 쉘을 실행 시켜 주네요. ㅎ 저 if 문의 ..
-
level13. 풀이System hacking training/Hackerschool F.T.Z 2017. 11. 5. 22:17
해커스쿨 F.T.Z level 13을 풀이해 보았습니다. 로그인 후 힌트를 열어본 화면입니다. attackme에 대한 소스코드인것 같습니다. char 형으로 buf[1024] 만큼 버퍼를 할당해주었고, long 형 i 에 1234567이 들어가 있는것을 알 수 있었습니다. 또한 입력값을 buf에 복사해주는 strcpy 함수가 보이네요. 이 함수는 버퍼오버플로우 공격에 취약합니다. 입력값의 길이를 지정하지 않아, 입력값을 그대로 복사해서 만일 buf 크기 즉, 1024 보다 큰 길이의 입력값이 들어온다면 엉뚱한 것들을 건드려서 프로그래머의 의도와는 다르게 작동할 수 있습니다. 또한 setreuid()를 호출하여 '특권'을 주는것을 볼 수 있습니다. 하지만 이전과는 다르게 if문을 이용하여 i에 0x1234..