FTZ
-
해커스쿨 FTZ - Clear 후기CTF/Pwn 2019. 8. 14. 00:33
FTZ 를 드디어 끝맞쳤다. 옛날같으면 시간이 얼만큼 흐르든지 간에 열심히 안보고 풀면서 씨름해나갔을텐데 요즘 할 일이 너무 많아진 관계로 그러한 방법을 사용하지 못해서 너무 아쉬웠다. 하지만 빠르게 막힐때마다 풀이를 보고 왜 그런지 이해해가며 적용시키며 풀어가는 것도 공부가 꽤나 되었다. 주로 리눅스 시스템에서 시스템의 맹점을 초반에 다루고 그다음에는 buffer over flow, format string 등을 다룬다. 이 세가지를 알고 푼다면 문제풀이가 가능할 것이고 이 세가지를 배우기 위해서 풀게된다면 나처럼 해답을 보면서 따라가며 배우는 식이 될것이다. 어느쪽이든지 유익한 듯하다. 이제 LOB 풀러 가야지...
-
FTZ - level17 풀이 / 환경변수 등록을 이용한 BOFCTF/Pwn 2019. 8. 13. 20:47
힌트를 보면 call 함수를 불러오는 자리에 쉘코드를 입력한 주소를 적어두면 될 것이다. gdb를 통해서 열어보자 attackme를 tmp로 우선 복사해서 bof를 gdb로 열어보자 가장먼저 메인을 확인해보면 buf는 ebp-56에 저장이 되고 있었다. 마지막 call에서 eax를 부르는 곳이 printit함수로 보이며 ebp-16이란 것을 알수가 있었다. 우리는 40만큼 더미값을 넣어주고 그 다음 4byte에 쉘코드 주소를 넣어주면 되는 것이다. gdb를 나와서 환경변수를 이용하도록 하자. 길다.. 쉘코드 내용은 당연히 system("/bin/sh"); 이다. env.c를 만들고 컴파일해서 실행함으로써 내가 등록한 환경변수의 주소값을 알아오자. 이제 이걸통해서 실행할때 이 주소를 넣어주면 끝 이 다음은..
-
FTZ - level8 / 파일 용량을 이용한 find 검색 활용CTF/Pwn 2019. 8. 12. 15:05
힌트를 보면 level9의 shadow 파일이 서버 어딘가에 숨겨져 있다고 적혀있고 그 파일의 용량은 2700이라고만 알려주었다. 우리가 이 파일을 찾으면 비밀번호를 알수 있는 이유는 shadow파일의 역할 때문인데 shadow파일이란 원래는 /etc/라는 경로에 저장되어 있으며 유저들의 정보를 저장하고 있고 비밀번호 또한 여기에 저장되어서 로그인할때 이 파일로 아이디와 비밀번호를 확인하게 된다. 당연히 문제형식이기 때문에 실제 /etc/shadow 는 퍼미션 디나이로 볼수 없으며 저 숨겨놓은 파일을 찾으면 될 것 같았다. find 명령어로 어떻겧 하면 특정 용량의 파일을 검색할 수있는지 help 옵션으로 찾아보았다. 음.. 그만 알아보자.. 인터넷을 통해서 좀더 검색해보았다. find [찾고자 하는 상..