완료됨
드림해킹에서 필요한 조건

드림해킹을 하기 위해서는 C언어는 필수로 필요한 거에요?
먼저 c언어를 다 배우고 나서 워게임을 하는 것이 좋을까요?

작성자 정보
더 깊이 있는 답변이 필요할 때
드림핵 팀과 멘토에게 직접 문의해 보세요!
답변 1
탈퇴한 이용자
대표 업적 없음

음... 제 답변이 전혀 도움이 안 될 수도 있는데 일단 제가 아는 선에서 답변 드릴게요
(제 답변이 부족하면 고수분들이 오셔서 알아서 보충해주실 거라 믿어요 ㅎㅎ ㅠㅜㅠㅜ)

일단 c언어는 다 배우고 나서 해킹을 배우겠다고 하면 평생이 걸려도 해킹을 입문하지 못하실 수도 있어요
그건 c언어가 그만큼 내용이 많아서가 아니라
컴퓨터 지식의 특성상 rabbit hole이 될 수도 있기 때문이에요
모든 분야가 그런지 어떤지 잘 모르겠지만 (예를 들어 경제학이나 지리학도 이와 비슷한지는 잘 모르겠어요)
c언어를 배우다보면 자료구조도 필요할 거 같고 운영체제도 필요할 거 같고 리눅스도 필요할 거 같고 유닉스도 필요할 거 같고
웹 구조도 필요할 거 같고 웹 프로그래밍도 필요할 거 같고 어셈블리어도 필요할 거 같고
컴퓨터 기반 지식도 필요할 거 같고 바이너리에 대한 지식도 필요할 거 같고 ....
이렇게 무한히 밑으로 밑으로 파고들 수 있어요
그러면 이거에 영원히 빠져서 실제로는 해킹을 못 배울 수도 있는 거죠

그래서 저 같은 경우는 "c언어랑 파이썬을 기본만 훑어보고" 해킹을 시작했어요
물론 자료구조랑 운영체제 등등 기본적인 컴퓨터 수업들을 다 듣고 공부한 건 맞아요
그래도 어쨋든 그건 그거라 치고
제대로 저 스스로 공부한 부분은 c언어랑 파이썬 (특히 파이썬!!) 이고
그냥 바로 해킹에 입문하고 워게임 풀고 현실에 있는 취약점 연구하고
고수분들이 작성한 리포트 읽고 cve 분석하고
바로 바로 했어요

해킹이나 프로그래밍이나 사실 매우 비슷한데
'그냥 일단 해보는' 자세도 매우 중요해요

'백문이불여일견' 이라는 말이 있죠? 해킹과 프로그래밍은 '백문이불여일타' 라고 보시면 되요
(백문이불여일타 : 백 번 듣는 것보다 한 번 직접 해보는 게 낫다)
해킹과 프로그래밍은 micro에서 macro를 보는 게임이에요 (하나씩 하나씩 분석하다보면 전체를 볼 수 있게되는)
한 번에 모든 걸 다 알겠다, 한 번에 모든 기반지식을 다 쌓겠다 이런 태도로 임하면
평생 입문할 수가 없어요 그거보다는 오히려
"그래 솔직히 나 잘 몰라, 기본적인 것만 훑었어 하지만 하면서 배워보자"
이런 태도로 들어가는게 훨씬 습득 속도가 빨라요
그렇게 하나씩 하나씩 micro를 분석하다보면 어느샌가 macro(전체)가 보이는 때가 오는 거죠
(컴퓨터는 이 역순이 잘 안되요 즉 모든 걸 다 아는 상태에서 micro분석은 잘 안 될 수 있어요)

그래서 저 같은 경우는 기본적인 지식을 다 보고 (한 두 번 훑어보는 수준이어도 괜찮으니까요 -물론 너무 날림으로만 훑어보는 건 안 되죠 ㅋㅋㅋㅋㅋ) 바로 해킹이든 프로그래밍이든 하나씩 하나씩 해보라고 말씀 드리고 싶네요
그렇게 하다보면 어떤 지식이 필요한지 알게 되거든요
슬로싱킹을 이용해서 워게임이든 취약점이든 하나씩 하나씩 분석하거나 해결해보고 그러다가 필요한 기반지식이 나오면
다시 공부하면서 보충하고 + 문제 풀이에 필요한 지식은 구글링 혹은 구글해킹으로 습득하면서
계속 슬로싱킹으로 분석하는게 제가 아는 한 최적의 분석법입니다 (물론 각자 분석 방식이 조금 다를 수 있다고 생각해요 ㅎㅎ)

그래서 질문에 해당하는 답변만 다시 한 문장 요약하면
"네 c언어는 배우셔야죠 다만 어느 정도 됐다 싶으면 해킹을 직접하시면서 지식을 습득해 나가시면 됩니당"

2022.01.14. 12:56