지은이·감수자·옮긴이 소개 xiii
옮긴이 머리말 xiv
베타리더 후기 xv
추천사 xvii
추천 서문(댄 바라오나 xix
감사의 글 xxii
이 책에 대하여 xxiv
PART I 웹 API 보안이 작동하는 방식
CHAPTER 0 보안 테스트 준비 3
0.1 권한 받기 4
0.2 API 테스트의 위협 모델링 4
0.3 테스트해야 할 API 기능 7
__0.3.1 API 인증 테스트 7
__0.3.2 웹 애플리케이션 방화벽 7
__0.3.3 모바일 애플리케이션 테스트 8
__0.3.4 API 문서 감사 8
__0.3.5 속도 제한 테스트 9
0.4 제한과 제외 10
__0.4.1 클라우드 API 보안 테스트 11
__0.4.2 DoS 테스트 12
0.5 보고와 개선 테스트 12
0.6 버그 현상금 범위에 관한 노트 13
요약 14
CHAPTER 1 웹 애플리케이션이 작동하는 방법 17
1.1 웹 애플리케이션 기초 17
__1.1.1 URL 18
__1.1.2 HTTP 요청 19
__1.1.3 HTTP 응답 20
__1.1.4 HTTP 상태 코드 22
__1.1.5 HTTP 메서드 23
__1.1.6 HTTP의 상태 24
1.2 웹 서버 데이터베이스 26
__1.2.1 SQL 26
__1.2.2 NoSQL 28
1.3 API의 역할 29
요약 29
CHAPTER 2 웹 API의 구조 31
2.1 웹 API가 작동하는 방식 31
2.2 표준 웹 API 타입 34
__2.2.1 RESTful API 35
__2.2.2 그래프QL 39
2.3 REST API 명세 43
2.4 API 데이터 교환 형식 44
__2.4.1 JSON 44
__2.4.2 XML 47
__2.4.3 YAML 48
2.5 API 인증 49
__2.5.1 기본 인증 49
__2.5.2 API 키 50
__2.5.3 JSON 웹 토큰 52
__2.5.4 HMAC 53
__2.5.5 OAuth
칼리 리눅스 실습과 함께 배우는 차세대 웹 보안 취약점 정복
API 대상 공격은 해마다 크게 증가하고 있고, 2022년에는 모든 공격의 과반을 넘어섰다는 보고서도 나왔다. API는 전체 인터넷 트래픽의 80% 이상을 차지할 정도로 사용량이 폭발적으로 증가했지만, 상대적으로 보안이 미비하여 확장된 공격 표면이 공격자들의 손쉬운 표적이 되고 있다.
API 보안의 중요성이 높아지는 가운데, API 해킹의 이론과 실제를 포괄적으로 정리한 것이 이 책이다. 1부에서는 웹 애플리케이션 작동 원리, REST/그래프QL 웹 API의 구조, 그리고 정보 누출, BOLA, BFLA, 대량 할당, 주입(인젝션 등 널리 알려진 API 취약점들을 살펴보며 보안 기초를 쌓는다. 2부에서는 실습을 위해 가상 머신에 칼리 리눅스를 설치하고 공격 및 대상 시스템을 구축한다. 버프 스위트와 포스트맨 등 주요 해킹 툴을 소개하고, 대상 시스템에는 crAPI나 DVGA 등 취약한 애플리케이션을 설치해 실습을 준비한다.
3부는 앞에서 소개한 툴들을 사용해 발견, 사전 조사, 엔드포인트 분석, 인증/인가 공격, 퍼징(fuzzing 등 실제로 API 공격을 실습한다. 거의 모든 공격 단계에서 쓰이는 버프 스위트와 포스트맨 외에 어매스, Nmap, 닉토, ZAP, 고버스터, 카이트러너, W퍼즈, 아르준 등 각종 툴을 어떤 공격 단계에서 어떻게 사용하는지 익힐 수 있다. 무차별 대입, JWT 악용, XSS, SQL 주입 등 고전적인 공격에 익숙하다면 이들이 API 세계에서 어떻게 응용되는지도 흥미로울 것이다. 4부는 API 보안 컨트롤 및 속도 제한 우회, 그래프QL 공격, 그리고 기업들의 실제 침해 혹은 버그 현상금(바운티 사례를 살펴본다.
매뉴얼 성격의 딱딱함이 아니라 어떻게든 조그마한 빈틈을 찾아내고 파고들려는 공격자의 치밀함이 돋보이는 책이다. 알려진 모든 유형의 API 공격을 다룬다는 점에서 실무자에게는 더할 나위 없는 레퍼런스가 될 테고, 보안 테스트와 웹 애플리케이션의