해킹 : 타인의 컴퓨터 시스템에 무단으로 침입하여 1) 정보 또는 권한을 탈취하거나 2) 시스템을 파괴하는 것

  1. 웹해킹 (Web Hacking) : 웹 대상 해킹 및 관련 기술 (웹 서버와 클라이언트에서 발생하는 각종 취약점과 이를 공격하는 기법 포함)
  2. 시스템 해킹 (System Hacking, 포너블(Pwnable), 소프트웨어 해킹) : 소프트웨어의 취약점을 찾아 공격하는 해킹 분야

리버스 엔지니어링 (Reverse Engineering, 리버싱)

: 프로그램을 역으로 분석하여 작동 원리를 알아내는 기술; 소프트웨어 취약점 파악 or 악성 프로그램의 행동 분석의 용도로 사용됨.

[해킹 공부] 1단계) 프로그래밍 언어와 코딩 숙지 2단계) '컴퓨터 과학' 공부 => 컴퓨터 시스템과 네트워크에 대한 깊은 이해와 프로그래밍 언어, 운영 체제에 대한 지식 필요

  1. 주어진 문제가 어떤 프로그램 or 서비스인지 이해 >> 풀이 없이 수행을 권장
  2. 취약점이 무엇인지 파악
  3. 찾은 취약점을 어떻게 공략하면 될지 구상
  4. 풀이에 필요한 코드나 페이로드를 작성