고광우님의 생생한 수강평, 해킹대회(CTF) 출전을 위한 시스템해킹(Pwnable) 입문
수강평 17
평균평점 4.8
시스템 해킹의 가장 기본인 B.O.F(buffer overflow)에 대한 좋은 학습이 되었습니다. 덕분에 시스템 해킹에 자신감이 붙고 다른 시스템 해킹 워게임(War-game)이나 CTF 문제에 도전하고 싶은 욕구가 생겼습니다. 다만, 난이도 표시에 '입문'이 아닌 '초급'으로 설정 되어 있는 만큼 아무런 지식이 없는 사람이 갑자기 들으면 생소할 수 있으니 아래와 같은 선수 지식을 갖춘 후 강의를 수강하시면 좋을 것 같습니다. 1. 16진수의 숫자 표시 방법(16진수 숫자 표기 법: 0,1,2,3 .... 9, a, b, c, d, e, f) ex.) 16진수로 계산할 때 0x88 + 0x08 = 0x90 이 되는지 이해할 줄 알아야 합니다. 88+8 = 96인건 10진수 일 때 계산 방법이고 16진수에서는 0x88 + 0x08 = 0x90이 되는 걸 이해해야 합니다. 2. gdb와 stack 구조 등을 설명할 때 몇몇 레지스터 관련 내용 레지스터 별로 역할 등을 자세하게 알 필요는 없고 그냥 이런 레지스터가 있구나 정도의 지식은 필요합니다. 그리고 stack 구조에서 어떻게 입력값과 데이터가 쌓이는지 알고 있으면 더 좋습니다. 1) [stack 메모리 관련 참고하면 좋은 영상] (영상제목 : 시스템 해킹 강좌 5강 - 메모리 구조 이해하기 (System Hacking Tutorial 2017 #5)) URL : https://www.youtube.com/watch?v=TxWOaKE5w_s --> 내용 전체를 완전히 이해 하기 보다는 stack 메모리는 이런 방식으로 동작하는 구나 정도만 이해하시면 좋을 것 같습니다. 2) [gdb와 레지스터 관련 참고자료] -> 우리집에 gdb있는데... 메모리 보고갈래?(1) URL : https://bpsecblog.wordpress.com/2016/03/08/gdb_memory_1/ -> 우리집에 gdb있는데...메모리 보고갈래?(2) 정리 자료 URL : https://haerinn.tistory.com/85 --> 특히 이 정리 자료가 이번 강의 풀이 내용의 핵심과 많이 밀접합니다. 선수 공부는 제가 URL을 표시한 순서대로 진행해 주시면 좋을 것 같습니다. 마지막으로 좋은 강의를 올려주신 juntheworld님에게 감사드립니다. 덕분에 시스템 해킹에 좋은 한 걸음을 뗄 수 있게 되었습니다. 감사합니다.
1





