정보보안 콘테스트를 위한 CTF 문제집(위키북스 해킹 & 보안 시리즈 14)
Capture The Flag 기출 문제 및 응용 문제 해설
Regular price
$28.09
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
CTF 문제를 풀어보며 보안에 대한 기술을 갈고 닦아본다!
보안 기술을 키우기 위한 수단 중 하나인 ‘보안 콘테스트’에 출제된 CTF(Capture The Flag) 문제와 그 문제를 풀 때의 과정을 소개한다. 콘테스트에 참가해보고 싶지만 어디서부터 시작해야 할지 모르는 분, 흥미는 있지만 문턱이 높다고 느끼는 입문자를 위해 알기 쉽게 해설했다.
『CTF 정보보안 콘테스트 챌린지북』의 속편으로서 좀 더 깊고 전문적인 내용을 체감하고 학습할 수 있도록 구성했다. 각 장르(바이너리 해석, Pwn, 네트워크, 웹)의 지식을 사용하는 문제가 수록돼 있고, 이에 대한 풀이를 자세하게 설명했다.
SECCON Beginners에 출제된 문제는 물론, SECCON CTF나 기타 CTF에 출제된 문제, 그리고 그 분야에서 중요한 지식을 확인할 수 있는 문제를 새롭게 만들어 수록했다.
CTF는 보고 외우는 문제가 아니다. 이 책을 읽을 때는 실제로 손을 움직여보고 어떤 방법으로 문제를 풀어야 할지, 어떤 접근 방법으로 정답을 찾아내야 할지 고민하며 읽는다면 많은 도움이 될 것이다. 이 책을 다 읽을 때면 많은 기술을 익힌 기분이 들 것이다.
하지만 이 세상에는 이 책에서 다루지 않은 특별한 문제도 많이 존재한다. 이 책을 읽고 보안 콘테스트 세계에 더욱 흥미를 가지고 각종 콘테스트에 참가해보길 바란다.
보안 기술을 키우기 위한 수단 중 하나인 ‘보안 콘테스트’에 출제된 CTF(Capture The Flag) 문제와 그 문제를 풀 때의 과정을 소개한다. 콘테스트에 참가해보고 싶지만 어디서부터 시작해야 할지 모르는 분, 흥미는 있지만 문턱이 높다고 느끼는 입문자를 위해 알기 쉽게 해설했다.
『CTF 정보보안 콘테스트 챌린지북』의 속편으로서 좀 더 깊고 전문적인 내용을 체감하고 학습할 수 있도록 구성했다. 각 장르(바이너리 해석, Pwn, 네트워크, 웹)의 지식을 사용하는 문제가 수록돼 있고, 이에 대한 풀이를 자세하게 설명했다.
SECCON Beginners에 출제된 문제는 물론, SECCON CTF나 기타 CTF에 출제된 문제, 그리고 그 분야에서 중요한 지식을 확인할 수 있는 문제를 새롭게 만들어 수록했다.
CTF는 보고 외우는 문제가 아니다. 이 책을 읽을 때는 실제로 손을 움직여보고 어떤 방법으로 문제를 풀어야 할지, 어떤 접근 방법으로 정답을 찾아내야 할지 고민하며 읽는다면 많은 도움이 될 것이다. 이 책을 다 읽을 때면 많은 기술을 익힌 기분이 들 것이다.
하지만 이 세상에는 이 책에서 다루지 않은 특별한 문제도 많이 존재한다. 이 책을 읽고 보안 콘테스트 세계에 더욱 흥미를 가지고 각종 콘테스트에 참가해보길 바란다.
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
[1부] 바이너리 분석 문제
▣ 문제 1: SelfReference
1. 문제와 해설
2. 정보 수집
___2.1 파일 종류
___2.2 파일에 포함된 표시 가능한 문자
___2.3 파일 실행
3. 풀이
___3.1 radare2 실행
___3.2 암호화 함수 식별
___3.3 fcn.080486eb 분석
___3.4 fcn.08048be1 분석
4. 플래그 입수
___4.1 복호화 함수 재현
5. 정리
▣ 문제 2: Simultaneous
1. 문제
2. 해설
___2.1 동작 확인
___2.2 ltrace를 통한 분석
___2.3 gdb-peda를 사용한 분석
___2.4 연립 방정식 풀기
___2.5 연립 방정식의 해를 입력
3. 정리
번외편: NumPy를 사용한 풀이
[2부] Pwn 문제
▣ 문제 3: SECCON x 콜로세움 2017 서버 2
1. 개요
___1.1 King of the Hill이란
2. 사전 준비
3. 제공 정보
4. 해설
___4.1 문제 서버 조사
___4.2 첫 번째 플래그
___4.3 두 번째 플래그
___4.4 세 번째 플래그
___4.5 pico 예비 조사
___4.6 익스플로잇 제작
___4.7 팀 키워드 쓰기
___4.8 방어점 사전 조사
___4.9 익스플로잇 만들기
5. 정리
▣ 문제 4: cheer_msg
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 message 함수
___4.3 getnline 함수
___4.4 getint 함수
5. 취약점 찾기
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 실제 공격을 통한 셸 탈취
8. 정리
▣ 문제 5: Checker
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 getaline 함수
5. 취약점 발견
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 정리
[3부] 네트워크 문제
▣ 문제 6: File Transfer Protocol
1. 문제
2. 해설
3. 패킷 분석
___3.1 조사할 패킷을 결정
___3.2 패킷 필터링
___3.3 필터링한 패킷을 분석
___3.4 파일 내용 확인
4. 정리
▣ 문제 7: RE:Build
1. 문제
2. 두 파일의 차이
3. pcap 파일 추출
4. pcap 파일 분석
5. RangeRequests
6. flag.png 재결합
7. 정리
▣ 문제 8: What do you type?
1. 문제
2. 파일 열기
3. USB 패킷을 캡처하는 방법
4. USB 패킷 헤더 형식
5. USB 패킷 헤더 해석
6. 전송된 데이터를 분석
7. 프로그램을 작성하고 입력된 문자의 해석을 자동화
8. 정리
[4부] Web 문제
▣ 문제 9: Login Me!
1. 문제
2. 문제 풀이 방향 결정
___2.1 사전 준비
___2.2 ID/PW 추측
___2.3 로그인된 세션을 탈취
___2.4 SQL 인젝션 가능 여부 테스트
3. SQL 인젝션 시도
___3.1 SQL 문 파악
___3.2 테이블 구조 파악
___3.3 계정정보 취득
___3.4 로그인
4. 문제의 의도 파악
___4.1 MySQL의 특수한 함수
___4.2 PHP 파일의 위치 추측
___4.3 PHPINFO를 다시 읽기
___4.4 PHP 파일 읽기
5. 정리
▣ 문제 10: Bonsai XSS Revolutions
1. 해설
2. 다른 방법
3. 정리
▣ 문제 11: Amazing Language
1. 문제
2. 해설
___2.1 문제 파일 확인
___2.2 문제에 관련된 정보 수집
___2.3 문제 파일 분석
___2.4 웹에서 힌트를 검색
___2.5 problem.png를 확인
___2.6 웹 브라우저에서 실행
___2.7 자바스크립트 코드 확인
___2.8 알 수 없는 문자열을 해독해 FLAG를 획득
3. 정리
[5부] 기타 문제
▣ 문제 12: Venus
1. 보안 캠프 전국 대회 2016 CTF
___1.1 규칙 및 형식
2. 문제 및 해설
3. 'Venus'에 해당하는 문제는 무엇인가
___3.1 어떤 포트가 열려있는가
___3.2 서비스 내용 상세 조사
___3.3 SSH 접속 시도
___3.4 실행 중인 프로세스 조사
4. Problem #1 (Level1)
5. Problem #2 (Level2)
6. Problem #3 (Level3)
7. Problem #4 (Level4)
8. 파이썬을 통한 자동화
___8.1 Problem #1 (Level1)
___8.2 Problem #2 (Level2)
___8.3 Problem #3 (Level3)
___8.4 Problem #4 (Level4)
9. 정리
▣ 문제 13: Binary, EncryptedPPTX
1. 문제
2. 필요한 지식
3. 해결 방법과 방침을 결정
___3.1 제공된 파일로부터 생각할 수 있는 방법
___3.2 PPTX 파일은 어떤 파일인가
___3.3 공개 키 암호와 오피스 파일의 관계성이 어디에 있는지 확인
___3.4 공개 키 포맷
___3.5 방침 결정
4. RSA 공개 키로부터 비밀 키 구하기
5. DocRecrypt로 패스워드 변경
6. 파워포인트로 열어보기
7. 마치며
▣ [부록] README 파일
▣ 문제 1: SelfReference
1. 문제와 해설
2. 정보 수집
___2.1 파일 종류
___2.2 파일에 포함된 표시 가능한 문자
___2.3 파일 실행
3. 풀이
___3.1 radare2 실행
___3.2 암호화 함수 식별
___3.3 fcn.080486eb 분석
___3.4 fcn.08048be1 분석
4. 플래그 입수
___4.1 복호화 함수 재현
5. 정리
▣ 문제 2: Simultaneous
1. 문제
2. 해설
___2.1 동작 확인
___2.2 ltrace를 통한 분석
___2.3 gdb-peda를 사용한 분석
___2.4 연립 방정식 풀기
___2.5 연립 방정식의 해를 입력
3. 정리
번외편: NumPy를 사용한 풀이
[2부] Pwn 문제
▣ 문제 3: SECCON x 콜로세움 2017 서버 2
1. 개요
___1.1 King of the Hill이란
2. 사전 준비
3. 제공 정보
4. 해설
___4.1 문제 서버 조사
___4.2 첫 번째 플래그
___4.3 두 번째 플래그
___4.4 세 번째 플래그
___4.5 pico 예비 조사
___4.6 익스플로잇 제작
___4.7 팀 키워드 쓰기
___4.8 방어점 사전 조사
___4.9 익스플로잇 만들기
5. 정리
▣ 문제 4: cheer_msg
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 message 함수
___4.3 getnline 함수
___4.4 getint 함수
5. 취약점 찾기
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 실제 공격을 통한 셸 탈취
8. 정리
▣ 문제 5: Checker
1. 문제
2. 사전 조사
3. 동작 파악
4. 바이너리 분석
___4.1 main 함수
___4.2 getaline 함수
5. 취약점 발견
___5.1 취약점 확인
6. 프로그램 공격
___6.1 방침
___6.2 익스플로잇 작성
7. 정리
[3부] 네트워크 문제
▣ 문제 6: File Transfer Protocol
1. 문제
2. 해설
3. 패킷 분석
___3.1 조사할 패킷을 결정
___3.2 패킷 필터링
___3.3 필터링한 패킷을 분석
___3.4 파일 내용 확인
4. 정리
▣ 문제 7: RE:Build
1. 문제
2. 두 파일의 차이
3. pcap 파일 추출
4. pcap 파일 분석
5. RangeRequests
6. flag.png 재결합
7. 정리
▣ 문제 8: What do you type?
1. 문제
2. 파일 열기
3. USB 패킷을 캡처하는 방법
4. USB 패킷 헤더 형식
5. USB 패킷 헤더 해석
6. 전송된 데이터를 분석
7. 프로그램을 작성하고 입력된 문자의 해석을 자동화
8. 정리
[4부] Web 문제
▣ 문제 9: Login Me!
1. 문제
2. 문제 풀이 방향 결정
___2.1 사전 준비
___2.2 ID/PW 추측
___2.3 로그인된 세션을 탈취
___2.4 SQL 인젝션 가능 여부 테스트
3. SQL 인젝션 시도
___3.1 SQL 문 파악
___3.2 테이블 구조 파악
___3.3 계정정보 취득
___3.4 로그인
4. 문제의 의도 파악
___4.1 MySQL의 특수한 함수
___4.2 PHP 파일의 위치 추측
___4.3 PHPINFO를 다시 읽기
___4.4 PHP 파일 읽기
5. 정리
▣ 문제 10: Bonsai XSS Revolutions
1. 해설
2. 다른 방법
3. 정리
▣ 문제 11: Amazing Language
1. 문제
2. 해설
___2.1 문제 파일 확인
___2.2 문제에 관련된 정보 수집
___2.3 문제 파일 분석
___2.4 웹에서 힌트를 검색
___2.5 problem.png를 확인
___2.6 웹 브라우저에서 실행
___2.7 자바스크립트 코드 확인
___2.8 알 수 없는 문자열을 해독해 FLAG를 획득
3. 정리
[5부] 기타 문제
▣ 문제 12: Venus
1. 보안 캠프 전국 대회 2016 CTF
___1.1 규칙 및 형식
2. 문제 및 해설
3. 'Venus'에 해당하는 문제는 무엇인가
___3.1 어떤 포트가 열려있는가
___3.2 서비스 내용 상세 조사
___3.3 SSH 접속 시도
___3.4 실행 중인 프로세스 조사
4. Problem #1 (Level1)
5. Problem #2 (Level2)
6. Problem #3 (Level3)
7. Problem #4 (Level4)
8. 파이썬을 통한 자동화
___8.1 Problem #1 (Level1)
___8.2 Problem #2 (Level2)
___8.3 Problem #3 (Level3)
___8.4 Problem #4 (Level4)
9. 정리
▣ 문제 13: Binary, EncryptedPPTX
1. 문제
2. 필요한 지식
3. 해결 방법과 방침을 결정
___3.1 제공된 파일로부터 생각할 수 있는 방법
___3.2 PPTX 파일은 어떤 파일인가
___3.3 공개 키 암호와 오피스 파일의 관계성이 어디에 있는지 확인
___3.4 공개 키 포맷
___3.5 방침 결정
4. RSA 공개 키로부터 비밀 키 구하기
5. DocRecrypt로 패스워드 변경
6. 파워포인트로 열어보기
7. 마치며
▣ [부록] README 파일
저자
저자
시미즈 유타로
SECCON 실행 위원. 보안&프로그래밍 캠프 2010에 네트워크 보안 담당으로 참가. CTF에서는 주로 Pwnable 문제에 무게를 두려고 애쓴다. 2016년부터 CTF for Beginners의 강사를 맡아 현재 바이너리 강의를 담당하고 있다. 여러 CTF 대회에 문제를 출제했다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

