Intro 운영진 및 출제진 분들도, 모든 참가자 분들도 다들 너무너무 수고하셨습니다! 사이버작전경연대회는 고등학교와서 처음 해킹 배우고 나서 처음으로 나간 대회였다! 근데 예상했던 것보다 결과가 잘 나왔다. Command Server 문제는 솔직히 순수 Pwnable이 아닌 Pwnable + Reversing + Network 같은 느낌이었다. 개인적으로 리버싱 정말 못하는데 거의 처음으로 해보는 리버싱 하느라 죽는줄 알았다. 그래도 결국 풀어서 리버싱에 대한 자신감도 생기고 좋은 경험이 되었던 것 같다. 개인적으로 아쉬웠던 점이 있다면 command를 보낼때 canary와 pie 주소를 같이 보낸다는 사실을 대회 종료 2시간 전에 깨달아서 급하게 풀고 급하게 롸업쓰느라 제대로 한 게 없었다는 점이 있..
Intro 이 문제가 있다는 걸 CTF 종료 30분 전에 알아서 급하게 풀다가 결국 시간 내에 못 풀었다 ㅠ 안 풀리길래 정훈 선배님께 여쭤봐서 풀게 되었다 급하게 풀어서 그런진 몰라도 __cdecl 함수 호출 규약을 잘못 알고 풀어서 못 풀고 있었던 것이었다 조금 아쉽긴 하지만 그래도 풀면서 재미있었다 ㅋㅋ Analysis checksec 다 걸려있다 ㄷㄷ Decompile 별거 없다. 저거 srand하고 time은 왜 쓴건지 모르겠다. pwnme를 한 번 보자. pwnme 사용자로부터 buf에 입력을 받아와서 해당 입력값에 대한 함수를 실행시켜준다. func1, func2, func3, func4의 내용은 별거 없다. 부적절한 입력값에 대해선 해당 입력값을 출력해주고 다시 입력을 받는다. Vulner..
Analysis checksec bof101.c #include //#include //#include #include #include void printflag(){ char buf[32]; FILE* fp = fopen("/flag", "r"); fread(buf, 1, 32, fp); fclose(fp); printf("%s", buf); fflush(stdout); } int main() { int check=0xdeadbeef; char name[140]; printf("printflag()'s addr: %p\n", &printflag); printf("What is your name?\n: "); fflush(stdout); scanf("%s", name); if (check != 0xdea..
예전부터 블로그를 운영하려고 생각하고는 있었지만, 귀찮아서 만들지도 않았었다. 근데 요즘 포너블을 공부하면서 많은 자료를 찾아보았더니 선배님들을 포함해 보안 공부하시는 분들은 다들 블로그를 하나 운영하셔서 자신이 배웠던 것들을 다 기록하고 계셨다. 그렇게 하면 기억에도 잘 남을 테고 다른 보안 공부하는 분들에게도 참고 자료로 도움이 될 수 있으니 참 좋은 것 같아서 귀가도 한 겸 블로그도 만들고, 스킨도 사서 적용하고, 서버랑 도메인도 세팅을 해버렸다. 세팅하는데 1시간도 안 걸릴거를 멍청하게 3시간이나 잡고 있었다. 주 분야가 포너블이라서 아마 포너블을 중점으로 블로그에 Writeup이나 이론들을 정리해서 올릴 것 같다.