Fascination
article thumbnail
[2023 Hacking-Camp CTF / pwnable] horcrux write-up
War Game & CTF/CTF-writeup 2023. 2. 14. 23:44

해당 문제도 SISS 부원 중 시스템 해킹을 처음 공부하고 있는 사람이 냈다고해서 풀어봤다. 실제 대회에서는 for beginner 태그가 붙었다고하니 아마 입문자들이 가장 먼저 도전해보지 않았을까 싶다 # 문제분석 - 주어진 소스코드 이미 소스코드가 주어졌기 때문에 우리는 실제 buf가 할당되는 크기만 확인해주면 어렵지 않게 문제를 해결할 수 있을 것이다. #include #include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGA..

article thumbnail
[2023 Hacking-Camp CTF / pwnable] step write-up
War Game & CTF/CTF-writeup 2023. 2. 14. 22:53

이번에 SISS에서 처음으로 pwnable을 3명이나 출제했다는 소식에 해킹캠프는 참여하지는 않았지만, SISS 부원들이 제작한 문제만 풀어보기로 했다. # 문제분석 checksec로 확인해보니 canary외에는 크게 신경써야 할 보호기법이 보이지 않는 것 같다 카나리만 우회한다면 buffer overflow 취약점으로 return address를 조작할 수 있지 않을까라고 생각했다 문제풀이에 유용한 함수를 찾아보기 위해 pwndbg의 info func 기능을 사용해보았다 get_shell 함수를 확인할 수 있었고 gdb로 확인했을 때 shell을 딸 수 있게해주는 함수인 것을 확인할 수 있었다 main에서 사용되는 함수와 함수에 사용되는 인자 값으로 예측한 프로그램의 흐름은 다음과 같다 1. buf가 ..