웹 해킹
웹 개발을 할 줄 알아야 한다.
필수 지식 : 프로그래밍언어(JS, Java, Python 등 백엔드/프론트엔드 언어 위주), SQL 등 웹 개발에 대한 전반적인 지식
보조 지식( 알면 좋은 것 ) : 네트워크, 리눅스, 배포 환경, 도커
연습하는 방법 : 학교 사이트 해킹
시스템 해킹
포너블이라는 분야임.
실행 중인 바이너리를 동적 디버거(gdb)로 붙어서 메모리 상의 취약점을 찾는 분야
- 보호 기법
- RoP
- BoF
- FMS 등등
배워야 할 게 많고 입문이 어려움
리버싱
코딩을 반대로 하는 역공학
정적 분석에 해당하며, 바이너리의 소스코드를 분석하여 약점을 찾는 분야
크립토
암호학, 암호 자체의 취약점을 이용하거나 키 교환, 해시 함수 등 수학과 연관이 깊음 특히 정수론.