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

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

$34.32
Description
세상에서 가장 실용적인 API 해킹 가이드북
API 사용량이 폭발적으로 증가하며 공격자들의 새로운 표적이 되고 있다. 이 책은 REST/그래프QL 웹 API와 일반적인 API 취약점 등 웹 API 보안 기초부터 시작해, 가상 머신과 칼리 리눅스로 공격 및 대상 시스템을 구축하고, 버프 스위트와 포스트맨 등 여러 해킹 도구를 활용해 알려진 모든 유형의 API 공격을 실습해본다. API 보안의 중요성이 높아지는 가운데, API 해킹의 이론과 실제를 가장 포괄적으로 정리한 책.

저자

코리볼

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

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

목차


지은이·감수자·옮긴이소개xiii
옮긴이머리말xiv
베타리더후기xv
추천사xvii
추천서문(댄바라오나)xix
감사의글xxii
이책에대하여xxiv

PARTI웹API보안이작동하는방식

CHAPTER0보안테스트준비3
0.1권한받기4
0.2API테스트의위협모델링4
0.3테스트해야할API기능7
__0.3.1API인증테스트7
__0.3.2웹애플리케이션방화벽7
__0.3.3모바일애플리케이션테스트8
__0.3.4API문서감사8
__0.3.5속도제한테스트9
0.4제한과제외10
__0.4.1클라우드API보안테스트11
__0.4.2DoS테스트12
0.5보고와개선테스트12
0.6버그현상금범위에관한노트13
요약14

CHAPTER1웹애플리케이션이작동하는방법17
1.1웹애플리케이션기초17
__1.1.1URL18
__1.1.2HTTP요청19
__1.1.3HTTP응답20
__1.1.4HTTP상태코드22
__1.1.5HTTP메서드23
__1.1.6HTTP의상태24
1.2웹서버데이터베이스26
__1.2.1SQL26
__1.2.2NoSQL28
1.3API의역할29
요약29

CHAPTER2웹API의구조31
2.1웹API가작동하는방식31
2.2표준웹API타입34
__2.2.1RESTfulAPI35
__2.2.2그래프QL39
2.3RESTAPI명세43
2.4API데이터교환형식44
__2.4.1JSON44
__2.4.2XML47
__2.4.3YAML48
2.5API인증49
__2.5.1기본인증49
__2.5.2API키50
__2.5.3JSON웹토큰52
__2.5.4HMAC53
__2.5.5OAuth2.054
__2.5.6인증없음56
2.6API실전:트위터API살펴보기56
요약59

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

PARTIIAPI테스트실험실구축

CHAPTER4API해킹시스템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.1OWASP어매스로사전조사110
__4.6.2카이트러너로API엔드포인트발견111
__4.6.3닉토로취약점검색113
__4.6.4OWASPZAP으로취약점검색114
__4.6.5W퍼즈와퍼징115
__4.6.6아르준으로HTTP매개변수발견117
요약118
실험실#1:RESTAPI에서사용자계정열거118

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

PARTIIIAPI공격

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

CHAPTER7엔드포인트분석175
7.1요청정보찾기176
__7.1.1문서에서정보찾기176
__7.1.2API명세임포트180
__7.1.3API리버스엔지니어링182
7.2포스트맨에API인증요건추가185
7.3기능분석187
__7.3.1의도에맞는사용인지테스트188
__7.3.2권한이필요한작업수행189
__7.3.3API응답분석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

CHAPTER8인증공격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.3JWT악용216
__8.3.1JWT분석216
__8.3.2none공격219
__8.3.3알고리즘스위치공격219
__8.3.4JWT크랙공격221
요약221
실험실#5:crAPIJWT서명크랙222

CHAPTER9퍼징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.3W퍼즈와깊은퍼징237
9.3W퍼즈로요청메서드테스트241
9.4입력유효성검사를우회하는‘더깊은’퍼징242
9.5퍼징과디렉터리순회244
요약244
실험실#6:부적절한자원관리취약점퍼징245

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

CHAPTER11대량할당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.4BFLA와대량할당조합271
요약272
실험실#8:온라인상점의아이템가격변경273

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

PARTIV실전API해킹

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

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

출판사 서평

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

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취약점을악용하기