CTF
-
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 [찾고자 하는 상..
-
써니나타스 4번문제 Write UpCTF/Web 2019. 8. 9. 14:24
4번문제에선 뜬금없이 User-Agent 를 언급하고있다. 4번까지 풀면서 느낀건 써니타나스는 웹페이지에 주석으로 힌트를 적는 관습이 있다는 것이였다. 그래서 바로 개발자모드를 눌러서 주석을 확인해 보았다. point를 50으로 만들고 SuNiNaTaS라고 왜인지는 모르지만 적혀있다. 누가봐도 50으로 올려야한다. Plus 버튼을 눌러보자 있지도 않은 써니나타스 브라우저를 좋아한다는데 어쩌라는건지 모르겠다. 그래서 나는 웹페이지가 착각하도록 만들어줘야 했다. 버프슈트를 이용하였다. User-Agent 부분을User-Agent : SuNiNaTaS 로 수정 후 forward를 진행하였다. (참고로 토탈을 수정하든 Upgrade-Insecure-Requests 값을 수정하든 뭘하든 1만 올라가게 되어있었다...