1. 광고배너
  2. 광고배너
  3. 광고배너
  4. 광고배너
/ 이전버튼 다음버튼
2
미리보기

실전 버그 바운티(해킹과 보안)
저자 : 피터야로스키 ㅣ 출판사 : 에이콘출판 ㅣ 역자 : 이진호,김현민

2021.07.29 ㅣ 364p ㅣ ISBN-13 : 9791161755489

정가33,000
판매가31,350(5% 할인)
적립금 1,320원 (4%)
배송일정 12월 07일 출고 가능
주문 수량 변경시 안내 배송안내
쿠폰 및 결제혜택 확인하기

크기 기타 규격
제품구성 단행본
이용약관 청약철회
국내도서 > 컴퓨터 > 네트워크 > NETWORK (L...
취약점을 발견해 제보하고 포상금을 받는 제도인 버그 바운티(bug bounty)에 관한 책이다. 버그 바운티로 기업은 효율적으로 취약점을 찾을 수 있고, 해커는 금전적인 보상을 받을 수 있어 기업과 해커가 상생할 수 있다. 입문자는 실제 기업이 운영하는 서비스를 대상으로 버그를 발견하는 기술적인 경험이 부족할 수 있다. 버그 헌팅 경력자 또한 시간적 제약과 제한된 자료로 인해 다른 제보자들이 신고했던 버그와 관련된 정보를 얻기 쉽지 않다. 이러한 요구를 만족할 수 있도록 다양한 실전 버그 바운티 사례를 소개하는 한편, 취약점을 발견하고 기업에 제보하는 일련의 과정을 알려준다. 기업의 보안 담당자뿐만 아니라, 버그 바운티에 참여하는 화이트해커 모두에게 도움이 될 것이다.

★ 이 책에서 다루는 내용 ★

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

★ 이 책의 대상 독자 ★

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

펼쳐보기

[목 차]

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

펼쳐보기
추천사

이 글을 읽고 있다면, 여러분은 해커와 버그 사냥꾼이 되려는 호기심이 있을 것이다. 이 책이 당신의 인생에 있어 멋진 안내서가 될 것이라고 믿는다. 실제로 버그 포상금이 지급된 다양한 보안 취약점 보고서의 예제가 다수 수록돼 있으며, 저자이자 동료 해커인 피터 야로스키의 유용한 분석과 검토 결과 또한 살펴볼 수 있다. 저자는 여러분의 학습 동반자로서 굉장히 많은 도움을 줄 것이다.
이 책이 중요한 또 다른 이유는 윤리적 해커가 되는 방법을 중점적으로 다루고 있다는 점이다. 습득한 해킹 기법은 실전에 활용할 수 있는 강력한 기술이 돼 줄 것이다. 가장 성공적인 해커는 해킹 중에 합법과 불법 사이의 경계를 구분할 줄 안다. 다수의 해커는 해킹으로 파괴적인 행동을 할 수도 있으며 빠르게 돈을 벌기 위한 시도를 할 수 있다. 그러나 인터넷을 안전하게 만들고 전 세계의 회사들과 협력해 돈을 받을 수 있다고 상상해보자. 여러분은 수십억의 사람과 그들의 데이터를 안전하게 유지할 수 있는 잠재력을 갖고 있다. 이것이 바로 우리가 바라는 바다.
내가 처음 해킹을 시작할 때 이러한 유용한 자료가 있었다면 더 좋았을 것이다. 피터의 책은 흥미진진하며 해킹에 입문하는 데 필요한 정보를 다루고 있다. 재밌게 읽고 행복한 해킹을 하길 바란다! 그리고 책임감을 갖고 해킹하는 것을 잊어서는 안 된다.

— 해커원의 공동 창립자, 미힐 프린스(Michiel Prins)와 요버트 아브마(Jobert Abma)

★ 이 책의 구성 ★

‘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: 추가자료’에는 해킹 지식을 더욱 폭넓게 확장시키기 위한 추가 자료를 나열했다. 여기에는 온라인 교육, 대중적인 바운티 플랫폼, 추천 블로그 등이 있다.

★ 지은이의 말 ★

공개된 취약점 보고서를 읽고 일부 해커가 수령하는 포상금을 보면 해킹이 쉽고 빠르게 부자가 되는 방법이라고 생각할 수 있다. 하지만 현실은 그렇지 않다. 해킹은 보람을 있을 수 있지만 그 과정에서의 실패를 다룬 이야기는 찾기 힘들다(이 책에서는 예외적으로 개인적인 굉장히 난처했던 경험을 공유할 것이다). 해킹에 성공한 것은 대부분 전해들을 수 있기 때문에 해킹에 관해 비현실적인 기대를 품을 수 있다.
여러분은 굉장히 빠르게 성공할 수도 있다. 그러나 버그를 발견하는 것은 굉장히 어렵기 때문에 계속해서 발견하려고 시도하자. 개발자는 항상 새로운 코드를 작성하며 버그는 항상 프로덕션 환경으로 전달될 것이다. 많이 시도할수록 버그를 탐색하는 과정은 더욱 쉬워질 것이다.
트위터 @yaworsk 계정으로 자유롭게 메세지를 보내고 진행 상황을 알려주기를 바란다. 비록 실패했더라도, 나는 여러분의 이야기를 듣고 싶다. 고군분투하고 있다면 버그를 찾는 일은 외로운 작업일 수 있다. 하지만 서로 축하하는 것은 좋은 일이며, 이 책의 다음 판에 포함시킬 만한 버그를 찾을 수도 있을 것이다.

★ 옮긴이의 말 ★

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

펼쳐보기
피터 야로스키(Peter Yaworski)
이 책에서 다루는 내용을 포함해 앞서 활동한 해커들이 공유해준 방대한 지식을 자습하면서 성장한 해커다. 또한 세일즈 포스(Salesforce), 트위터(Twitter), 에어비앤비(Airbnb), 버라이즌 미디어(Verizon Media), 미 국방부의 도움을 받으며 버그 바운티 사냥꾼으로 성공적인 활동을 했다. 현재 쇼피파이(Shopify)에서 애플리케이션 보안 엔지니어로 전자상거래 보안 강화와 관련된 업무를 담당하고 있다.


옮긴이 이진호
성균관대학교 컴퓨터교육과를 졸업한 후 기업은행, 금융결제원을 거쳐 금융보안원에서 일하고 있다. 보안 이외에도 다른 사람에게 지식을 전달하는 일에 관심이 많으며, 보안 관련 지식을 나누고자 번역을 시작했다. 에이콘출판사에서 『AWS 침투 테스트』(2020), 『금융 사이버 보안 리스크 관리』(2019), 『*OS Internals Vol.3』(2018) 등 총 7권을 번역했다. 링크드인(https://www.linkedin.com/in/pub-ezno/)에서 만나볼 수 있다.

옮긴이 김현민
현재 금융보안원에서 취약점 분석과 모의해킹 업무를 수행하고 있다. 주요 관심분야는 버그 헌팅과 인공지능이며, 수년간 국내외 소프트웨어에서 다수의 취약점을 발견해 제보했다. 저서로는 『윈도우 시스템 해킹 가이드: 버그헌팅과 익스플로잇』(SECU BOOK, 2016)이 있다.

펼쳐보기

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.

독자서평 쓰기 로그인을 하시면 독자서평을 쓰실 수 있습니다.
도서평점
내용
등록하기
0/2000자

이 분야의 베스트

더보기 >

    이 분야의 신간

    더보기 >
      맨위로가기

      영풍문고 로고

      • 회사명 : (주)영풍문고
      • 대표이사 : 김경환
      • 소재지 : 서울특별시 강남구 강남대로 542번지 (우)06110
      • 사업자 등록번호 : 773-86-01800 ㅣ 통신판매업 신고번호 : 2020-서울강남-01007 [ 사업자정보확인 ]
      • 개인정보관리 책임자 : 조순제 ㅣ customer@ypbooks.co.kr ㅣ 대량주문 : webmaster@ypbooks.co.kr
      COPYRIGHT © YOUNGPOONG BOOKSTORE INC. ALL RIGHTS RESERVED.
      영풍문고 네이버블로그 영풍문고 인스타그램
      맨위로가기