장바구니 담기 close

장바구니에 상품을 담았습니다.

실전 버그 바운티

실전 버그 바운티

  • 피터야로스키
  • |
  • 에이콘출판
  • |
  • 2021-07-29 출간
  • |
  • 364페이지
  • |
  • 188 X 235 X 21 mm
  • |
  • ISBN 9791161755489
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★

■ 인터넷의 작동 방법과 기본 웹 해킹 개념
■ 공격자가 웹 사이트를 장악하는 방법
■ 취약점과 관련된 기능을 식별하는 방법
■ 버그를 찾기 시작할 때 찾아봐야 할 지점
■ 효과적인 버그 바운티 프로그램 탐색과 취약점 보고서 제출 방법

★ 이 책의 대상 독자 ★

초보 해커를 염두에 두고 작성했다. 웹 개발자, 웹 디자이너, 가정을 꾸리고 있는 부모, 10살짜리 아이 또는 75세 퇴직자도 상관없다. 일부 프로그래밍 경험과 웹 기술에 익숙하면 도움이 될 수 있다. HTML(Hypertext Markup Language)이 구조를 정의하는 방법과 CSS(Cascading Style Sheets)가 모양을 정의하는 방법, 자바스크립트가 동적으로 상호작용하는 방법을 이해하면 취약점을 발견하고 발견한 버그의 파급력을 인지하는 데 도움될 것이다.
애플리케이션의 로직과 관련된 취약점을 발견하고 개발자가 실수를 저지르는 방법과 관련된 브레인스토밍을 할 때 프로그래밍 방법을 아는 것이 도움이 된다. 프로그래머 업계에 종사했거나 구현 방법을 추측할 수 있거나 (가능한 경우) 코드를 읽을 수 있다면 성공 확률이 높아진다.

★ 이 책의 구성 ★

‘1장: 버그 바운티 기본 사항’은 취약점과 버그 바운티가 무엇이며 클라이언트와 서버의 차이점을 설명한다. 또한 HTTP 요청, 응답 및 방법을 포함해 인터넷 작동 방식과 HTTP 상태 비저장(stateless)을 설명한다.
‘2장: 오픈 리디렉션’은 특정 도메인의 신뢰를 악용해 사용자를 다른 도메인으로 리디렉션하는 공격을 다룬다.
‘3장: HTTP 파라미터 오염’은 공격자가 HTTP 요청을 처리하는 방법을 다루며, 취약한 대상 웹 사이트에서 신뢰하지만 예기치 않은 동작을 유발하는 추가 파라미터를 주입한다.
‘4장: CSRF(Cross Site Request Forgery)’는 공격자가 악성 웹 사이트를 사용해 공격 대상 브라우저가 다른 웹 사이트에 HTTP 요청을 보내도록 하는 방법을 다룬다.
‘5장: HTML 인젝션(injection) 및 콘텐츠 스푸핑(spoofing)’은 악성 사용자가 자체적으로 설계한 HTML 요소를 공격 대상 사이트의 웹 페이지에 주입하는 방법을 설명한다.
‘6장: 캐리지 리턴 라인피드(Carriage Return Line Feed) 인젝션’은 공격자가 인코딩한 문자를 HTTP 메시지에 삽입해 서버, 프록시 및 브라우저가 문자 해석하는 방식을 변경하는 방법을 보여준다.
‘7장: 크로스 사이트 스크립팅(Cross Site Scripting, XSS)’은 공격자가 사이트에서 자체 JavaScript 코드를 실행하기 위해 사용자 입력을 검증하지 않는 사이트를 악용하는 방법을 설명한다.
‘8장: 템플릿 인젝션’은 템플릿에서 사용하는 사이트에서 사용자 입력을 검증하지 않을 때 공격자가 템플릿 엔진을 악용하는 방법을 설명한다. 이 장에는 클라이언트 및 서버 측 사례가 수록돼 있다.
‘9장: SQL 인젝션’은 데이터베이스 기반 사이트의 취약점으로 인해 공격자가 사이트 데이터베이스를 대상으로 예상 밖의 쿼리를 전달하거나 공격하는 방법을 설명한다.
‘10장: SSRF(Server Side Request Forgery)’는 침입자가 서버가 의도하지 않은 네트워크 요청을 수행하게 하는 방법을 설명한다.
‘11장: XML 외부 엔티티’는 공격자가 애플리케이션이 XML 입력의 구문 분석을 하고 입력 값에 외부 엔티티를 포함시켜 처리하는 방식을 악용하는 방법을 보여준다.
‘12장: 원격 코드 실행’은 공격자가 서버나 애플리케이션을 조작해 공격자의 코드를 실행하는 방법을 설명한다.
‘13장: 메모리 취약점’은 공격자가 애플리케이션의 메모리 관리를 조작해 공격자가 삽입한 명령 실행 및 의도하지 않은 동작을 일으키는 방법을 설명한다.
‘14장: 서브도메인 인수’는 공격자가 합법적인 도메인을 대신해 서브도메인을 제어할 수 있는 경우 서브도메인을 장악하는 방법을 보여준다.
‘15장: 레이스 컨디션(race condition)’에서는 공격자가 프로세스가 실행될 때 유효하지 않은 초기 조건을 기반으로 사이트의 프로세스가 완료될 때 상황을 조작하는 방법을 보여준다.
‘16장: 안전하지 않은 직접 객체 참조’는 공격자가 접근할 수 없는 파일, 데이터베이스 레코드 또는 계정과 같은 개체에 대한 참조를 접근하거나 수정할 수 있을 때 발생하는 취약점을 다룬다.
‘17장: OAuth 취약점’은 웹, 모바일 및 데스크톱 애플리케이션의 보안 권한을 단순화하고 표준화하도록 설계된 OAuth 프로토콜 구현 상의 버그를 다룬다.
‘18장: 애플리케이션 로직 및 구성 취약점’은 공격자가 코딩 로직 또는 애플리케이션 구성 실수를 조작해서 사이트에서 의도하지 않은 동작을 수행해 취약점을 유발하는 방법을 설명한다.
‘19장: 나만의 버그 바운티 찾기’는 저자의 경험과 방법론에 따라 취약점을 찾는 위치와 방법에 대한 팁을 알려준다. 이 장은 사이트 해킹에 대한 단계별 가이드가 아니다.
‘20장: 취약점 보고하기’는 버그 바운티 프로그램에서 버그를 거부하지 않도록 신뢰할 수 있고 유용한 취약점 보고서를 작성하는 방법을 설명한다.
‘부록 A: 도구’는 웹 트래픽 프록시, 하위 도메인 열거, 스크린샷 등을 포함하여 해킹을 위해 설계된 대중적인 도구를 설명한다.
‘부록 B: 추가자료’에는 해킹 지식을 더욱 폭넓게 확장시키기 위한 추가 자료를 나열했다. 여기에는 온라인 교육, 대중적인 바운티 플랫폼, 추천 블로그 등이 있다.

★ 옮긴이의 말 ★

기업의 서비스 및 제품을 해킹해 취약점을 찾은 해커에게 포상금을 주는 제도인 ‘버그 바운티(bug bounty)’의 대표적인 플랫폼으로 해커원(HackerOne.com)이 있다. 해커원에서는 글로벌 기업들과 제휴를 맺고 웹 취약점을 접수해 심사를 거쳐 포상금을 지급하고 있다. 해커원 사이트에 등록된 버그를 살펴보면 수준 높은 웹 해킹 기술로 취약점을 발견한 사례도 있지만, 개발자들이 예상치 못한 허점을 발견해 두둑한 포상금을 챙겨가는 경우도 볼 수 있다. 이러한 버그를 찾는 것은 생각보다 진입 장벽이 있어 버그 헌팅에 입문한 많은 도전자들이 금방 포기하거나 전혀 소득을 올리지 못한다. 버그를 찾기 위해 가장 중요한 것은 바로 실전 경험과 노하우다. 이러한 실전 경험을 습득하기 위해 많은 시간과 노력을 들여 해커원에 등록된 취약점 분석 보고서를 확인해가며 웹 해킹 기법과 노하우를 배워야 한다. 이 책에서는 버그 바운티에 입문하는 화이트 해커를 위해 대표적인 웹 취약점을 유형별로 포상금을 지급한 취약점 보고 사례로 설명한다. 이 책을 통해 다양한 유형의 취약점에 대한 기본 개념과 함께 실제 취약점을 발견하는 방법을 배울 수 있을 것이다.
또한 이 책은 웹 해킹 학습을 위한 연습용 환경을 다루는 것이 아닌, 실제 기업들이 운영하는 홈페이지에서 취약점을 보고해 포상금을 챙긴 사례를 다룬 책이다. 특히 인터넷에 공개된 수많은 취약점에 대한 설명뿐만 아니라, 취약점을 찾는 과정을 자세히 설명한 유일한 서적일 것이다. 이를 통해 여러분은 취약점을 찾는 과정과, 찾은 후 제보하는 과정 및 포상금을 받는 과정까지 습득하며 버그 헌터로서 성장할 수 있는 기본기를 마련할 수 있을 것이다. 실제 홈페이지의 취약점 발견 과정을 배움으로써 실전 웹 해킹 기술을 습득할 때에도 큰 도움을 줄 것이다. 수년간 활동해온 버그 헌터이자 보안전문가로서 버그 헌팅 입문자에게 이 책을 읽어볼 것을 강력히 추천한다.


목차


1장. 버그 바운티 기본 사항
__취약점과 버그 바운티
__클라이언트와 서버
__웹 사이트 방문 시 발생하는 작업
____1단계: 도메인 이름 추출
____2단계: IP 주소 확인
____3단계: TCP 연결 설정
____4단계: HTTP 요청 보내기
____5단계: 서버 응답
____6단계: 응답 렌더링
__HTTP 요청
____요청 메서드
____HTTP 상태 비저장
__요약

2장. 오픈 리디렉션
__오픈 리디렉션 작동 방식
__Shopify 테마 설치 오픈 리디렉션
____시사점
__Shopify 로그인 열기 리디렉션
____시사점
__해커원 진입 페이지 리디렉션
____시사점
__요약

3장. HTTP 파라미터 오염
__서버 측 HPP
__클라이언트 측 HPP
__해커원 소셜 공유 버튼
____시사점
__트위터 구독 취소 알림
____시사점
__트위터 웹 인텐트
____시사점
__요약

4장. CSRF
__인증
__GET 요청 기반 CSRF
__POST 요청 기반 CSRF
__CSRF 공격에 대한 방어
__Shopify 트위터 연결 끊기
____시사점
__Instacart 사용자 배송 지역 조작
____시사점
__Badoo 전체 계정 장악
____시사점
__요약

5장. HTML 인젝션과 콘텐츠 스푸핑
__문자 인코딩을 통한 코인 베이스 주석 주입
____시사점
__해커원에서 의도하지 않은 HTML 포함
____시사점
__해커원의 의도하지 않은 HTML 포함 수정 우회
____시사점
__위드인 시큐리티 보안 콘텐츠 스푸핑
____시사점
__요약

6장. 캐리지 리턴 라인피드 인젝션
__HTTP 요청 밀수
__v.shopify.com 응답 분할
____시사점
__트위터 HTTP 응답 분할
____시사점
__요약

7장. 크로스사이트 스크립팅
__XSS의 종류
__Shopify 도매
____시사점
__Shopify 통화 형식
____시사점
__야후! 메일 저장 XSS
____시사점
__구글 이미지 검색
____시사점
__Google 태그 관리자에 저장 XSS
____시사점
__유나이티드 항공 XSS
____시사점
__요약

8장. 템플릿 인젝션
__서버 측 템플릿 인젝션
__클라이언트 측 템플릿 인젝션
__우버 앵귤러JS 템플릿 인젝션
____시사점
__우버 플라스크 진자2 템플릿 인젝션
____시사점
__레일즈 동적 렌더링
____시사점
__유니큰 Smarty 템플릿 인젝션
____시사점
__요약

9장. SQL 인젝션
__SQL 데이터베이스
__SQLi 보안 대책
__야후! 스포츠 블라인드 SQLi
____시사점
__우버 블라인드 SQLi
____시사점
__드루팔 SQLi
____시사점
__요약

10장. 서버 측 요청 위조
__SSRF 영향력 시연
__GET과 POST 요청 호출
__블라인드 SSRF 수행
__SSRF 응답 기반 사용자 공격
__ESEA SSRF와 AWS 메타데이터 쿼리
____시사점
__Google 내부 DNS SSRF
____시사점
__웹후크를 사용한 내부 포트 스캔
____시사점
__요약

11장. XML 외부 엔티티
__확장 가능한 마크업 언어
____문서 유형 정의
____XML 엔티티
__XXE 공격의 작동 방식
__구글 읽기 취약점
____시사점
__마이크로소프트 워드를 이용한 페이스북 XXE
____시사점
__Wikiloc XXE
____시사점
__요약

12장. 원격 코드 실행
__셸 명령 실행
__실행 기능
__원격 코드 실행 권한 상승을 위한 전략
__Polyvore ImageMagick
____시사점
__facebooksearch.algolia.com의 Algolia RCE
____시사점
__SSH를 통한 RCE
____시사점
__요약

13장. 메모리 취약점
__버퍼 오버플로
__경계를 벗어난 읽기
__PHP ftp_genlist() 정수 오버플로
____시사점
__파이썬 Hotshot 모듈
____시사점
__libcurl 경계를 벗어난 읽기
____시사점
__요약

14장. 서브도메인 인수
__도메인 네임 이해
__서브도메인 인수 방법
__Ubiquiti 서브도메인 인수
____시사점
__젠데스크를 지정하는 Scan.me
____시사점
__Windsor 서브도메인 인수
____시사점
__Snapchat Fastly 인수
____시사점
__Legal Robot 인수
____시사점
__우버 센드그리드 메일 인수
____시사점
__요약

15장. 레이스 컨디션
__해커원 초대 다중 수락
____시사점
__Keybase 한도 초과 초대
____시사점
__해커원 지급 레이스 컨디션
____시사점
__Shopify 파트너 레이스 컨디션
____시사점
__요약

16장. 안전하지 않은 직접 객체 참조
__간단한 IDOR 찾기
__더 복잡한 IDOR 찾기
__Binary.com 권한 상승
____시사점
__Moneybird 앱 생성
____시사점
__Twitter Mopub API 탈취
____시사점
__ACME 고객 정보 노출
____시사점
__요약

17장. OAuth 취약점
__OAuth 작업 흐름
__슬랙 OAuth 토큰 훔치기
____시사점
__디폴트 비밀번호로 인증 전달
____시사점
__마이크로소프트 로그인 토큰 도용
____시사점
__페이스북 공식 액세스 토큰 전환
____시사점
__요약

18장. 애플리케이션 로직과 구성 취약점
__Shopify 관리자 권한 우회
____시사점
__트위터 계정 보호 우회
____시사점
__해커원 시그널 조작
____시사점
__해커원의 잘못된 S3 버킷 권한
____시사점
__GitLab 이중 인증 우회
____시사점
__야후! PHP 정보 공개
____시사점
__해커원 Hacktivity 투표
____시사점
__PornHub의 Memcache에 접근
____시사점
__요약

19장. 나만의 버그 바운티 찾기
__정찰
____서브도메인 열거
____포트 스캐닝
____스크린샷
____콘텐츠 발견
____이전의 버그
__애플리케이션 테스트
____기술 스택
____기능 매핑
____취약점 찾기
__더 나아가기
____작업 자동화
____모바일 앱 살펴보기
____새로운 기능 식별
____자바 스크립트 파일 추적
____새로운 기능에 대한 비용 지불
____기술 학습
__요약

20장. 취약점 보고서
__정책 읽기
__세부 사항 포함
__취약점 재확인
__여러분의 평판
__회사에 대한 존경 표시
__바운티 보상 어필
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.