반디앤루니스 인터넷서점

네비게이션 실시간 인기 책

    API 해킹의 모든 것 : REST와 그래프QL 웹 API 기초부터 보안 취약점, 해킹 툴, 퍼징 등 공격 실습까지

    베스트

    API 해킹의 모든 것 : REST와 그래프QL 웹 API 기초부터 보안 취약점, 해킹 툴, 퍼징 등 공격 실습까지

    • 코리 볼 저
    • 제이펍
    • 2023년 08월 11일
    • 정가
      33,000원
    • 판매가
      33,000원 [0% 할인]
    • 결제 혜택
      무이자
    • 적립금
      990원 적립 [3%P]

      NAVER Pay 결제 시 네이버페이 포인트 5% 적립 ?

    • 배송구분
      업체배송(반디북)
    • 배송료
      무료배송
    • 출고예정일

      출고예정일 안내

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

      close

      2026년 11월 16일(월)

      ※ 출고예정일은 도서 재고상황에 따라 변동될 수 있습니다.

    수량
    회원리뷰
    - [0]
    ISBN: 9791192987323 400쪽 760g 사이즈 정보 준비중

    지금 이책은

    이 분야의 베스트셀러

    ㆍ품절된 상품입니다.

    이 책이 속한 분야

    출판사 리뷰

    칼리 리눅스 실습과 함께 배우는 차세대 웹 보안 취약점 정복

    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 공격을 다룬다는 점에서 실무자에게는 더할 나위 없는 레퍼런스가 될 테고, 보안 테스트와 웹 애플리케이션의 기초도 다루기 때문에 초보자도 순서대로 정독하기만 한다면 API 해킹에 뛰어들 수 있을 것이다.

    주요 내용

    -웹 애플리케이션의 작동 방식을 이해하고 웹 API를 해부해서 들여다보기
    -해커의 관점에서 최상의 API 취약점 마스터하기
    -가장 효과적인 해킹 도구들 익히기
    -수동적, 능동적 API 사전 조사로 API를 발견하고, 노출된 비밀을 찾고, API 기능을 분석하기
    -API와 상호작용하며 퍼징(fuzzing)의 위력을 테스트하기
    -다양한 공격을 퍼부어 찾아낸 API 취약점을 악용하기

    저자 소개

    코리 볼

    저자 : 코리 볼 (Corey Ball)
    모스 애덤스(Moss Adams)의 사이버 보안 관리자로 침투 테스트 서비스를 책임지고 있다. IT 분야에서 10년 이상 일하며 항공 우주, 농업, 에너지, 핀테크, 정부 서비스, 의료 등 다양한 영역에서 사이버 보안 경험을 쌓았다. 캘리포니아 주립대학교 새크라멘토에서 영문학과 철학 학사 학위를 받았고 OSCP, CCISO, CEH, CISA, CISM, CRISC, CGEIT 자격증을 갖고 있다.

    역자 : 한선용
    자바스크립트에 관심 많은 번역가. 2008년부터 웹 관련 일을 해 왔으며, ‘HTML5 명세’, ‘WCAG 2.0을 위한 일반적 테크닉’ 등의 문서를 번역해 웹에 게시했습니다. 번역서로는 『프론트엔드 개발자를 위한 자바스크립트 프로그래밍』, 『처음 배우는 jQuery』, 『HTML5 & CSS3』, 『에릭 마이어의 CSS 노하우』, 『한 권으로 끝내는 Node & Express(개정판)』, 『나의 첫 파이썬(2판)』, 『파이썬으로 웹 크롤러 만들기(2판)』, 『자바스크립트를 말하다』, 『데이터 시각화를 위한 데이터 인사이트』, 『모던 웹을 요리하는 초간편 HTML5 Cookbook』, 『Head First jQuery』, 『jQuery Mobile』, 『자바스크립트 성능 최적화』, 『CSS 완벽 가이드』, 『CSS 핵심 실용 가이드』 등이 있습니다.

    목차


    지은이·감수자·옮긴이 소개 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 2.0 54
    __2.5.6 인증 없음 56
    2.6 API 실전: 트위터 API 살펴보기 56
    요약 59

    CHAPTER 3 일반적인 API 취약점 61
    3.1 정보 누출 62
    3.2 BOLA 63
    3.3 사용자 인증 결함 65
    3.4 데이터 과다 노출 66
    3.5 리소스 부족과 속도 제한 67
    3.6 BFLA 68
    3.7 대량 할당 70
    3.8 보안 설정 오류 71
    3.9 주입 74
    3.10 부적절한 자원 관리 76
    3.11 비즈니스 로직 취약점 77
    요약 78

    PART II API 테스트 실험실 구축

    CHAPTER 4 API 해킹 시스템 81
    4.1 칼리 리눅스 81
    4.2 개발자 도구로 웹 애플리케이션 분석 82
    4.3 버프 스위트로 요청 캡처와 수정 85
    __4.3.1 폭시프록시 설정 86
    __4.3.2 버프 스위트 인증서 추가 87
    __4.3.3 버프 스위트 모듈 88
    __4.3.4 트래픽 가로채기 90
    __4.3.5 침입자에서 요청 변경 92
    4.4 포스트맨에서 API 요청 생성 96
    __4.4.1 요청 생성기 97
    __4.4.2 환경 100
    __4.4.3 컬렉션 102
    __4.4.4 컬렉션 실행기 106
    __4.4.5 코드 조각 106
    __4.4.6 테스트 패널 107
    4.5 버프 스위트와 포스트맨의 조합 108
    4.6 보충 도구 110
    __4.6.1 OWASP 어매스로 사전 조사 110
    __4.6.2 카이트러너로 API 엔드포인트 발견 111
    __4.6.3 닉토로 취약점 검색 113
    __4.6.4 OWASP ZAP으로 취약점 검색 114
    __4.6.5 W퍼즈와 퍼징 115
    __4.6.6 아르준으로 HTTP 매개변수 발견 117
    요약 118
    실험실 #1: REST API에서 사용자 계정 열거 118

    CHAPTER 5 취약한 API 대상 설정 123
    5.1 리눅스 호스트 생성 124
    5.2 도커와 도커 컴포즈 설치 124
    5.3 취약한 애플리케이션 설치 125
    __5.3.1 crAPI 125
    __5.3.2 픽시 126
    __5.3.3 OWASP 주스 숍 127
    __5.3.4 DVGA 128
    5.4 기타 취약한 애플리케이션 추가 129
    5.5 트라이핵미와 핵더박스에서의 API 해킹 130
    요약 131
    실험실 #2: 취약한 API 발견 132

    PART III API 공격

    CHAPTER 6 발견 139
    6.1 수동적 사전 조사 140
    __6.1.1 수동적 사전 조사 절차 140
    __6.1.2 구글 해킹 141
    __6.1.3 프로그래머블웹의 API 검색 디렉터리 143
    __6.1.4 쇼단 146
    __6.1.5 OWASP 어매스 147
    __6.1.6 깃허브에 노출된 정보 150
    6.2 능동적 사전 조사 153
    __6.2.1 능동적 사전 조사 절차 154
    __6.2.2 Nmap을 통한 기본 스캔 156
    __6.2.3 Robots.txt에서 숨겨진 경로 발견 157
    __6.2.4 크롬 개발자 도구로 민감한 정보 발견 157
    __6.2.5 버프 스위트로 API 검사 162
    __6.2.6 OWASP ZAP과 URI 크롤링 162
    __6.2.7 고버스터를 사용한 URI 무차별 대입 165
    __6.2.8 카이트러너로 API 콘텐츠 검색 166
    요약 168
    실험실 #3: 블랙 박스 테스트를 위한 능동적 사전 조사 169

    CHAPTER 7 엔드포인트 분석 175
    7.1 요청 정보 찾기 176
    __7.1.1 문서에서 정보 찾기 176
    __7.1.2 API 명세 임포트 180
    __7.1.3 API 리버스 엔지니어링 182
    7.2 포스트맨에 API 인증 요건 추가 185
    7.3 기능 분석 187
    __7.3.1 의도에 맞는 사용인지 테스트 188
    __7.3.2 권한이 필요한 작업 수행 189
    __7.3.3 API 응답 분석 191
    7.4 정보 누출 191
    7.5 보안 설정 결함 192
    __7.5.1 자세한 에러 메시지 192
    __7.5.2 빈약한 전송 암호화 193
    __7.5.3 문제가 있는 설정 193
    7.6 데이터 과다 노출 194
    7.7 비즈니스 로직 결함 195
    요약 196
    실험실 #4: crAPI 컬렉션 구축과 데이터 과다 노출 발견 196

    CHAPTER 8 인증 공격 201
    8.1 고전적 인증 공격 202
    __8.1.1 비밀번호 무차별 대입 공격 202
    __8.1.2 비밀번호 리셋과 다중 인증 무차별 대입 공격 203
    __8.1.3 비밀번호 스프레이 205
    __8.1.4 무차별 대입 공격에 base64 인증 포함 208
    8.2 토큰 위조 209
    __8.2.1 수동 분석 210
    __8.2.2 실시간 캡처 분석 212
    __8.2.3 예측 가능한 토큰 무차별 대입 213
    8.3 JWT 악용 216
    __8.3.1 JWT 분석 216
    __8.3.2 none 공격 219
    __8.3.3 알고리즘 스위치 공격 219
    __8.3.4 JWT 크랙 공격 221
    요약 221
    실험실 #5: crAPI JWT 서명 크랙 222

    CHAPTER 9 퍼징 225
    9.1 효과적인 퍼징 225
    __9.1.1 퍼징 페이로드 선택 227
    __9.1.2 이상 감지 229
    9.2 넓은 퍼징과 깊은 퍼징 231
    __9.2.1 포스트맨과 넓은 퍼징 232
    __9.2.2 버프 스위트와 깊은 퍼징 235
    __9.2.3 W퍼즈와 깊은 퍼징 237
    9.3 W퍼즈로 요청 메서드 테스트 241
    9.4 입력 유효성 검사를 우회하는 ‘더 깊은’ 퍼징 242
    9.5 퍼징과 디렉터리 순회 244
    요약 244
    실험실 #6: 부적절한 자원 관리 취약점 퍼징 245

    CHAPTER 10 권한 공격 249
    10.1 BOLA 찾기 249
    __10.1.1 ID 탐색 250
    __10.1.2 A-B 테스트 252
    __10.1.3 부채널 BOLA 252
    10.2 BFLA 찾기 253
    __10.2.1 A-B-A 테스트 254
    __10.2.2 포스트맨에서 BFLA 테스트 254
    10.3 권한 부여 해킹 팁 257
    __10.3.1 포스트맨의 컬렉션 변수 257
    __10.3.2 버프 스위트의 찾아 바꾸기 257
    요약 258
    실험실 #7: 다른 사용자의 자동차 위치 발견 258

    CHAPTER 11 대량 할당 265
    11.1 대량 할당 대상 발견 265
    __11.1.1 계정 등록 266
    __11.1.2 권한 없는 접근 266
    11.2 대량 할당 변수 발견 267
    __11.2.1 문서에서 변수 발견 267
    __11.2.2 알 수 없는 변수 퍼징 268
    __11.2.3 맹목적 대량 할당 공격 269
    11.3 아르준, 버프 스위트 침입자로 대량 할당 공격 자동화 270
    11.4 BFLA와 대량 할당 조합 271
    요약 272
    실험실 #8: 온라인 상점의 아이템 가격 변경 273

    CHAPTER 12 주입 279
    12.1 주입 취약점 발견 280
    12.2 사이트 간 스크립팅(XSS) 281
    12.3 API 간 스크립팅(XAS) 282
    12.4 SQL 주입 284
    __12.4.1 메타 문자 직접 전송 285
    __12.4.2 SQL맵 286
    12.5 NoSQL 주입 288
    12.6 운영 체제 명령어 주입 290
    요약 292
    실험실 #9: NoSQL 주입을 사용한 쿠폰 위조 293

    PART IV 실전 API 해킹

    CHAPTER 13 우회 기술과 속도 제한 테스트 299
    13.1 API 보안 컨트롤 우회 300
    __13.1.1 보안 컨트롤의 작동 방식 300
    __13.1.2 API 보안 컨트롤 탐지 301
    __13.1.3 버너 계정 사용 302
    __13.1.4 우회 기술 303
    __13.1.5 버프 스위트로 우회 자동화 305
    __13.1.6 W퍼즈로 우회 자동화 307
    13.2 속도 제한 테스트 309
    __13.2.1 느슨한 속도 제한에 대한 노트 310
    __13.2.2 경로 우회 312
    __13.2.3 출처 헤더 위조 313
    __13.2.4 버프 스위트에서 IP 주소 순환 314
    요약 318

    CHAPTER 14 그래프QL 공격 319
    14.1 그래프QL 요청과 IDE 320
    14.2 능동적 사전 조사 321
    __14.2.1 스캐닝 321
    __14.2.2 브라우저에서 DVGA 사용 323
    __14.2.3 개발자 도구 사용 323
    14.3 그래프QL API 리버스 엔지니어링 325
    __14.3.1 그래프QL 엔드포인트에 디렉터리 무차별 대입 325
    __14.3.2 쿠키 변조를 통한 그래피클 IDE 활성화 328
    __14.3.3 그래프QL 요청 리버스 엔지니어링 330
    __14.3.4 스키마 확인을 통한 그래프QL 컬렉션 리버스 엔지니어링 332
    14.4 그래프QL API 분석 333
    __14.4.1 그래피클 문서 탐색기를 통한 요청 작성 333
    __14.4.2 버프 스위트 애드온 InQL 335
    14.5 명령어 주입을 위한 퍼징 338
    요약 344

    CHAPTER 15 데이터 침해와 버그 현상금 345
    15.1 침해 346
    __15.1.1 펠로톤 346
    __15.1.2 USPS Informed Visibility API 348
    __15.1.3 T-모바일 API 침해 349
    15.2 현상금 351
    __15.2.1 API 키의 가격 352
    __15.2.2 비공개 API 권한 부여 문제 353
    __15.2.3 스타벅스: 전례 없는 침해 355
    __15.2.4 인스타그램 그래프QL BOLA 357
    요약 359

    마치며 360

    부록 A API 해킹 체크리스트 362
    부록 B 추가 자료 364
    찾아보기 368

    배송 시 유의사항

    - 반디앤루니스에서 구매하신 도서는 물류 대행 위탁업체 웅진 북센을 통해 배송됩니다.
     (배송 포장에 "웅진 북센"으로 표기될 수 있습니다.)

    - 구매한 상품의 품질과 배송 관련 문의는 반디앤루니스로 문의 바랍니다.

    - 천재지변 및 택배사의 사정에 따라 배송이 지연될 수 있습니다.

    - 결제(입금) 완료 후 출판사 및 유통사의 사정으로 품절 또는 절판 되어 상품 구입이 어려울 수 있습니다. (별도 안내 예정)

    - 도서산간지역의 경우 추가 배송비가 발생될 수 있습니다.

    반품/교환

    상품 설명에 반품/ 교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다)

    반품/교환

    반품/교환
    반품/교환 방법 홈 > 고객센터 > 자주찾는질문 “반품/교환/환불” 안내 참고 또는 1:1상담게시판
    반품/교환 가능 기간 반품,교환은 배송완료 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제발견 후 30일 이내에 신청가능
    반품/교환 비용 변심 혹은 구매착오의 경우에만 반송료 고객 부담(별도 지정 택배사 없음)
    반품/교환 불가 사유
    • 소비자의 책임 사유로 상품 등이 손실 또는 훼손된 경우
    • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    • 복제가 가능한 상품 등의 포장을 훼손한 경우 : 예)만화책, 잡지, 화보집 등
    • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    • 전자상거래등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    • 해외주문 상품(해외 원서)의 경우(파본/훼손/오발송 상품을 제외)
    소비자 피해보상
    환불지연에 따른 배상
    • 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
      소비자 분쟁해결 기준(공정거래위원회고시)에 준하여 처리됨
    • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
      소비자 보호에 관한 법률에 따라 처리함
    반품/교환 주소 경기도 파주시 문발로 77, 웅진북센(반디앤루니스)