파이썬이랑 자바스크립트, C++ 세 언어를 겉핥기로 아주 조금은 아는데, 101 강의들에서 이 코드 이해할 수 있냐는 질문에서 대답할 수 있는 것들이 아무것도 없더라구요...
https://www.youtube.com/watch?v=fK9nwFECFmI
위 유튜브 영상에서 일단 파이썬을 먼저 공부하라고는 했는데, 파이썬을 일단 어디까지 배우고 해킹에 도전을 해봐야 하는지, 또 시스템 해킹이랑 웹 해킹 중에서 어느 쪽을 먼저 도전하는 것이 맞는지, 시스템 해킹이랑 웹 해킹을 할 때 각각 C++이랑 자바스크립트 관련 지식은 어느 정도까지 익힌 후에 시작을 해야하는지...너무나 혼란스러워서 선배님들의 조언을 듣고자 합니다.
질문을 요약하자면 다음과 같습니다.
- 파이썬은 우선 어디까지 익혀야 하는가?
- 시스템 해킹이랑 웹 해킹 중 무엇을 먼저 배우는 것이 좋은가?
- 시스템 해킹이랑 웹 해킹을 할 때 각각 C++이랑 자바스크립트는 어느 정도 알아야 하는가?
개인적으로 개발을 하다 넘어온 입장에서, 프로그래밍 언어는 많이 알면 알 수록 좋습니다. 하지만 꼭 다 알아야 하는 것은 아닙니다. 어차피 몇 년을 공부해도 다 알 수도 없고요.
중요한건 많이 부딪혀보는 겁니다. 드림핵에 난이도별로 문제가 잘 정리되어 있으니, 일단 쉬운 문제부터 풀이를 마구마구 보면서 공부해보세요. 대신 그 풀이를 복습하고, 내가 몰랐던 함수나 코드가 있었는지 하나도 빠짐없이 내 걸로 만들어야 합니다. 첫 번째 질문의 답변을 정리하면 결국 뭐가 먼저랄 것 없이, 프로그래밍 언어는 늘 관심을 갖고 공부하되, 해킹 관점에서 생각해보자. 라고 할 수 있겠네요. 사실 프로그램을 exploit 하는 코드 자체는 간단합니다. 프로그램의 허점을 공략하는 게 어려울 뿐이죠.
두 번째 질문인 시스템 해킹과 웹 해킹중 뭘 먼저 시작할지에 대해선, 시스템 해킹은 어셈블리어를 처음 보면 금방 포기할 수 있습니다. 어느정도 프로그래밍에 익숙해진 뒤에 접하는 게 좋을 것 같구요. 그래서 굳이 입문에서 시작한다면, 개인적으로는 웹 해킹부터 해보시는 게 좋을 것 같습니다. 참고로 둘은 분야가 많이 다릅니다. 워게임 랭커분들만 봐도, 둘 다 잘하시는 분들도 많지만 그 정점까지 가신 분들은 어느정도 전공 분야가 있으십니다. (물론 둘 다 잘하시는 분들도 있지만요) 그래서 뭐가 먼저라기보다는, 어느 분야에 더 관심이 가는지가 중요할 것 같습니다.
마지막 질문에는 첫 번째와 비슷한 답변을 드리고 싶네요. 많이 알수록 좋습니다. 시스템 해킹은 주로 메모리를 활용하는 부분에서 취약점이 많이 발견되는데, 메모리 관점에서 프로그래밍을 공부하려면 꽤 많은 지식을 갖고 컴퓨터와 더 친해져야합니다. 그리고 웹 해킹에서 자바스크립트는 어렵게 말하면, '클라이언트단에서 사용되는 스크립트이기 때문에 그렇게까지 중요하진 않지만 생각지 못한 정보를 얻을 수도 있기 때문에 잘 알수록 좋다.'라고 말씀드리고 싶네요. 해킹이라는 분야 자체가 워낙 공부할 게 많다보니, 결국 공부하고 더 공부해야합니다.
결국 공부하란 얘기밖에 안되는 것 같지만, 그만큼 많은 학습량이 필요한 게 이 분야라고 생각합니다. 특히나 기초부터 시작하신다면 더더욱이요. 꾸준히 공부하셔서, 원하는 바를 꼭 이루시기 바랍니다!
안녕하세요 이미 좋은 답변이 남겨져 있으나 저 또한 답변을 남겨 봅니다
제가 경험이 많은것은 아니지만 명확한 답변을 원하시는 것 같아 도움드려 봅니다 :)
- 파이썬은 우선 어디까지 익혀야 하는가?
https://www.exploit-db.com/shellcodes
exploit-db 사이트는 각종 취약점 사례들이 올라오는 사이트입니다
제가 올린 사이트로 들어가셔서 코드를 살펴보시면 대부분이 Python으로 작성되어 있습니다
저는 해당 사이트에 올라오는 코드가 좋은 기준점이 될 거라 생각 됩니다
- 시스템 해킹이랑 웹 해킹 중 무엇을 먼저 배우는 것이 좋은가?
저의 경우 웹 해킹 먼저 시작하였습니다
노베이스와 같은 상황이시라면 웹을 먼저 입문하시는게 쉬우리라 생각 합니다
혹은 취업을 생각한다면 웹 해킹 먼저 배우는 것이 유리하지 않을까 생각 합니다 ( 개인적인 생각 )
또한 웹을 먼저 배울 경우, 웹 해킹에서 배운 취약점들은 모바일 해킹에서도 일부 적용할 수 있기 때문에
모바일로도 넘어가는 계기가 될 수 있습니다 모바일 앱 또한 서버와 통신하는 것은 동일하기에
물론 웹과 모바일은 많이 다르기에 또 다시 배워야 합니다 ㅠㅠ
- 시스템 해킹이랑 웹 해킹을 할 때 각각 C++이랑 자바스크립트는 어느 정도 알아야 하는가?
C++은 아니지만 C를 배운 저의 입장에서 말씀드리자면 최소한 인프런 - 널널한 개발자님의 독하게 시작하는 C프로그래밍 강의
최소한 해당 강의 내용 정도는 알아야 한다고 생각합니다
관심 있으시다면 꼭 한번 수강 하시기를 추천드립니다
또한 모바일 해킹에서도 리버싱을 하기에 C는 필요합니다
자바스크립트는 잘 모르겠습니다
제가 말씀드릴 수 있는건 모바일 해킹에서도 자바스크립트는 필요하다는 것입니다
자바스크립트로 작성된 스크립트를 Frida 도구를 통하여 루팅 우회나 Native 코드 우회를 시도할 때 필요합니다
저의 경우, 웹 > 모바일 > 시스템 해킹 순서로 접했고 시스템 해킹은 현재 진행중입니다
고민이 많이 되시겠지만 한시라도 빨리 시작하고 재미를 붙이는 것도 하나의 방법이라 생각합니다
도움이 되었으면 좋겠습니다 감사합니다