웹 애플리케이션 보안 완벽 가이드
도서+교보Only(교보배송)을 함께 15,000원 이상 구매 시 무료배송
15,000원 미만 시 2,500원 배송비 부과
20,000원 미만 시 2,500원 배송비 부과
15,000원 미만 시 2,500원 배송비 부과
1Box 기준 : 도서 10권
알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.
해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
패키지
북카드
키워드 Pick
키워드 Pick 안내
관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.
이 책은 웹 개발자뿐 아니라 보안 업계에 종사하는 웹 취약점 진단자에게도 유용한 내용이 수록돼 있어 진단 실무자에게도 유용할 것이다.
작가정보
저자(글) 토쿠마루 히로시
1985년 쿄세라 주식회사에 입사한 뒤 소프트웨어 개발, 기획에 종사. 1999년에 휴대전화용 인증 과금 기반 방식 설계 담당을 맡은 것을 계기로 보안에 흥미를 가지게 됐다. 2004년 이 분야를 사업화해 2008년 독립. 취약점 진단 및 컨설팅 업무를 하며 블로그와 스터디를 통해 보안 계몽 활동을 하고 있다. EG 시큐리티 솔루션즈 주식회사 대표이자 OWASP Japan 자문위원회, 독립행정법인 정보처리추진기구(IPA) 비상근연구원.
게임 필자에서 개발자로 전직하고, 개발자에서 다시 보안 엔지니어로 전직한 10년차 보안 엔지니어. 잠시 재직했던 회사가 언제나 중국발 해킹 공격에 당하는 것을 보고 스스로 막아보고자 보안에 뛰어들었다. SK인포섹에서 소스 취약점 분석, 모의해킹, 서버 취약점 분석 업무로 본격적인 보안 실무 경험을 쌓고, NHN JAPAN을 거쳐 현재 DMM.com 보안 엔지니어링 매니저로 근무하고 있다.
번역 김민호
사이버 보안을 전공하고 보안 교육을 시작으로 보안에 첫 발을 내디뎠다. 그 후 네트워크 포렌식 등 침해사고 분석 업무로 전환해 현재까지 CSIRT 업무를 수행하고 있다. NHN JAPAN을 거쳐 현재 DMM.com 네트워크 보안을 담당하고 있다.
번역 연구흠
고등학교 시절 우연히 접하게 된 클리퍼 4.0을 시작으로 현재 15년차 개발자로 근무하고 있다. PHP를 시작으로 Perl, ASP, JAVA, JavaScript, Android 등을 다루며, Python과 Go 언어를 공부하고 있다. 새로운 기술 습득과 보안 관련 분야에 관심이 많으며, ‘없으면 만든다’라는 모토로 집에서도 취미로 개발을 할 만큼 코딩하는 것을 좋아한다. 최근 이직한 블록체인 업체에서 다양한 블록체인 기반의 프로젝트를 수행 중이며, 현재 블록체인 개발자 양성 과정에서 멘토로도 활동 중이다.
목차
- ▣ 01장: 웹 응용 프로그램 취약점이란?
01. 취약점이란 ‘악용 가능한 버그’
02. 왜 취약점이 존재하면 안 되는가?
____경제적 손실
____법적 규제
____사용자가 회복 불가능한 손실을 받을 수 있다
____웹 사이트 사용자에게 신뢰도 하락
____의도하지 않게 공격자가 될 수 있다
03. 취약점이 발생하는 이유
04. 보안 버그와 보안 기능
05. 이 책의 구성
06. 보안 지침과 대응
____소프트웨어 개발 보안 가이드
____OWASP Top10
▣ 02장: 실습 환경 설정
01. 실습 환경 개요
____실습용 가상 시스템 다운로드
____예제 프로그램 라이선스
02. 파이어폭스 설치
03. 버추얼박스 설치
____버추얼박스란?
____버추얼박스 다운로드
04. 가상머신 가져오기 및 동작 확인
____가상 시스템 동작 확인
____가상 시스템 종료 방법
____리눅스 운영
05. OWASP ZAP 설치
____OWASP ZAP이란?
____JRE 설치
____OWASP ZAP 설치
____OWASP ZAP 설정
06. 파이어폭스 확장 기능 FoxyProxy-Standard 설치
07. OWASP ZAP 사용하기
08. 웹 메일 확인
____참고 / 가상머신 데이터 목록
▣ 03장: 웹 보안 기초 - HTTP, 세션 관리, 동일 출처 정책, CORS
01. HTTP와 세션 관리
____왜 HTTP를 공부하는가?
____가장 간단한 HTTP
____입력-확인-등록 형식
____상태 비보존 HTTP 인증
____쿠키 및 세션 관리
____정리
02. 수동적 공격과 동일 출처 정책(Same Origin Policy)
____능동적 공격과 수동적 공격
____브라우저는 어떻게 수동 공격을 막을까
____자바스크립트 이외의 크로스 도메인 접근
____CSS
____정리
03. CORS(Cross-Origin Resource Sharing)
____간단한 요청
____사전 점검 요청
____인증 정보를 포함한 요청
▣ 04장: 웹 응용 프로그램 기능별 보안 버그
01. 웹 응용 프로그램의 기능과 취약점 대응
____취약점은 어디서 발생하는가?
____인젝션 관련 취약점이란?
____정리
02. 입력 처리와 보안
____웹 응용 프로그램에서 ‘입력’은 무슨 역할인가?
____문자 인코딩 검증
____문자 인코딩 변환
____문자 인코딩 검사 및 변환의 예
____입력값 검증
____예제
____정리
____참고: ‘제어 문자 이외’를 표현하는 정규 표현식
03. 표시 처리에 따른 문제
__4.3.1 크로스 사이트 스크립팅(기본편)
____개요
____공격 방법과 영향
____취약점이 발생하는 원인
____대책
____참고: Perl을 이용한 대책 예
__4.3.2 크로스 사이트 스크립팅(응용편)
____href 속성과 src 속성을 사용한 XSS
____자바스크립트 동적 생성
____HTML 태그와 CSS 입력을 허용하는 경우의 대책
__4.3.3 에러 메시지로부터의 정보 유출
____정리
____더 높은 단계로 나아가기 위해
04. SQL 호출에 따른 취약점
__4.4.1 SQL 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
____참고: 자리 표시자를 사용할 수 없는 경우의 대책
____참고: Perl+MySQL의 안전한 연동 방법
____참고: PHP 5.3.5까지 사용할 수 있는 안전한 연동 방법
____참고: Java+MySQL의 안전한 연동 방법
05. ‘중요한 처리’시에 삽입되는 취약점
__4.5.1 크로스 사이트 요청 변조(CSRF)
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.5.2 클릭재킹
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
06. 세션 관리 미비
__4.6.1 세션 하이재킹의 원인과 영향
__4.6.2 추측 가능한 세션 ID
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: 자체 세션 관리 메커니즘과 관련된 다른 취약점
__4.6.3 URL에 삽입된 세션 ID
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.6.4 세션 ID 고정화
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
07. 리다이렉트 처리와 관련된 취약점
__4.7.1 오픈 리다이렉트
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.7.2 HTTP 헤더 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
08. 쿠키 출력과 관련된 취약점
__4.8.1 쿠키의 부적절한 출력
__4.8.2 쿠키의 보안 속성 미흡
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____보안 속성 외 속성값에 대한 주의
____정리
09. 메일 전송 문제
__4.9.1 메일 전송 문제 개요
__4.9.2 메일 헤더 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
10. 파일 접근과 관련된 문제
__4.10.1 디렉터리 탐색
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
__4.10.2 의도하지 않은 파일 노출
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: Apache 웹 서버에서 특정 파일을 숨기는 방법
11 OS 명령 호출 시 발생하는 취약점
__4.11.1 OS 명령어 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____참고: 내부 셸을 호출하는 함수
12. 파일 업로드와 관련된 문제
__4.12.1 파일 업로드 문제 개요
__4.12.2 업로드된 파일을 통한 스크립트 실행
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.12.3 파일 다운로드를 통한 크로스 사이트 스크립팅
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
__4.12.4 PDF의 FormCalc를 통한 콘텐츠 하이재킹
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
13. 포함 기능과 관련된 문제
__4.13.1 파일 포함 공격
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
14. 구조화된 데이터 읽기 관련 문제
__4.14.1 eval 인젝션
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____더 높은 단계로 나아가기 위해
__4.14.2 안전하지 않은 역직렬화
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.14.3 XML 외부 개체 참조(XXE)
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
15. 공유 자원 및 캐시와 관련된 문제
__4.15.1 경쟁 상태 취약점
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
____참고: 자바 서블릿의 기타 주의 사항
__4.15.2 캐시로부터의 정보 유출
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
____정리
16. 웹 API 구현에서 발생할 수 있는 취약점
__4.16.1 JSON과 JSONP 개요
____JSON이란?
____JSONP이란?
__4.16.2 JSON 이스케이프 미흡
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.16.3 JSON 직접 열람에 의한 XSS
____개요
____공격 방법 및 영향
____취약점이 발생하는 원인
____대책
__4.16.4 JSONP의 콜백 함수 이름을 통한 XSS
____개요
____공격 방법 및 영향
____취약점이 발생한 원인
____대책
__4.16.5 웹 API의 CSRF
____웹 API에 대한 CSRF 공격 경로
____대책
__4.16.6 JSON 하이재킹
____개요
____공격 방법 및 영향
____대책
__4.16.7 JSONP의 부적절한 사용
____JSONP에 의한 비밀 정보 제공
____신뢰할 수 없는 JSONP API 사용
____정리
__4.16.8 CORS 검증 미흡
__4.16.9 보안을 강화하는 응답 헤더
____정리
17. 자바스크립트 문제
__4.17.1 DOM Based XSS
____개요
____취약점이 발생한 원인
____대책
__4.17.2 웹 저장소의 부적절한 사용
____웹 저장소란?
____웹 저장소에 무엇을 저장해야 하는가?
____웹 저장소의 부적절한 사용 예
__4.17.3 postMessage호출의 미비
____postMessage란?
____메시지 송신지의 미확인
____메시지 수신처 미확인
____대책 정리
__4.17.4 오픈 리다이렉트
____취약점이 발생한 원인
____대책
____정리
▣ 05장: 대표적인 보안 기능
01. 인증
__5.1.1 로그인 기능
____로그인 기능에 대한 공격
____로그인 기능이 파손됐을 때의 영향
____부정 로그인을 막기 위해서는
__5.1.2 패스워드 인증을 노리는 공격에 대한 대책
____기본적인 계정 잠금
____패스워드 인증에 대한 공격 종류와 대책
__5.1.3 패스워드 저장 방법
____패스워드 보호의 필요성
____암호화를 통한 패스워드 보호와 해결 과제
____메시지 다이제스트를 통한 패스워드 보호와 과제
__5.1.4 자동 로그인
____안전하지 않은 구현 예
____안전한 자동 로그인 구현 방법
____자동 로그인의 위험을 낮추기 위해
__5.1.5 로그인 폼
__5.1.6 오류 메시지 요건
____ID와 패스워드 어느 쪽이 틀렸는지를 표시하면 안 되는 이유
____ID와 패스워드를 2단계로 나눠 입력하는 사이트 증가
__5.1.7 로그아웃 기능
__5.1.8 인증 기능 정리
02. 계정 관리
__5.2.1 사용자 등록
____메일 주소 수신 확인
____사용자 ID 중복 방지
____사용자 자동 등록에 대한 대처
__5.2.2 패스워드 변경
____현재 패스워드를 확인하는 것
____패스워드 변경 시 메일 알림
____패스워드 변경 기능에서 발생하기 쉬운 취약점
__5.2.3 메일 주소 변경
____메일 주소 변경에 필요한 기능적 대책
__5.2.4 패스워드 초기화
____관리자용 패스워드 초기화 기능
____사용자용 패스워드 초기화 기능
__5.2.5 계정 정지
__5.2.6 계정 삭제
__5.2.7 계정 관리 정리
03. 인가
__5.3.1 인가란?
__5.3.2 인가 미비의 예
____정보가 있는 URL을 알면 인증 없이 정보가 열람 가능
____정보 자원의 ID를 변경하면 권한을 넘어서는 정보를 열람할 수 있음
____권한에 따라 메뉴만 달리 표시하는 경우
____hidden 매개변수나 쿠키에 권한 정보를 보존
____인가 미비 정리
__5.3.3 인가 제어의 요건 정의
__5.3.4 인가 제어의 올바른 정의
__5.3.5 정리
04. 로그 출력
__5.4.1 로그 출력 목적
__5.4.2 로그 종류
____오류 로그
____접근 로그
____디버그 로그
__5.4.3 로그 출력 요건
____로그에 기록해야 할 이벤트
____로그 출력 항목
____로그 보호
____로그를 출력할 곳
____로그 보관 기간
____서버 시간 맞춤
__5.4.4 로그 출력 구현
__5.4.5 정리
____참고 : 접근 로그 요구 가이드라인
▣ 06장: 문자 코드와 보안
01. 문자 코드와 보안 개요
02. 문자 집합
03. 문자 인코딩
04. 문자 코드로 인한 취약점 발생 요인 정리
05. 문자 코드를 올바르게 취급하는 방법
06. 정리
▣ 07장: 취약점 진단 입문
01. 취약점 진단 개요
02. 취약한 응용 프로그램 Bad Todo
____Nmap
03. 진단 도구 다운로드 및 설치
____OpenVAS
____RIPS
04. Nmap을 이용한 포트 스캔
____Nmap 사용해보기
____Nmap 결과를 보는 방법
____OpenVAS 사용해보기
05. OpenVAS을 통한 플랫폼 취약점 진단
____OpenVAS 결과 확인 방법
____OWASP ZAP 설정
06. OWASP ZAP을 이용한 자동 취약점 스캔
____세션 정보 설정
____크롤링
____자동 진단
____진단 결과 확인
____진단 보고서 작성
____진단 후처리
07. OWASP ZAP을 이용한 수동 취약점 진단
____URL 목록표 작성
____진단 작업
____보고서 작성
____진단 후처리
____RIPS 사용해보기
08. RIPS를 사용한 소스코드 진단
09. 취약점 진단 실시를 할 때 주의할 점
10. 정리
11. 취약점 진단 보고서 예제
__7.11.1 XML 외부 엔티티 참조(XXE)
__7.11.2 크로스 사이트 스크립팅(XSS)
▣ 08장: 웹 사이트의 안전성을 높이기 위해
01. 웹 서버에 대한 공격 경로 및 대책
__8.1.1 기반 소프트웨어 취약점을 노린 공격
__8.1.2 무단 로그인
__8.1.3 대책
____적절한 서버 기반을 선정
____불필요한 소프트웨어는 사용하지 않음
____취약점 대처는 실시간으로 수행
____공개할 필요가 없는 포트나 서비스는 접근을 제한
____인증 강도를 높임
02. 피싱 사이트 대책
__8.2.1 네트워크를 통한 피싱 사이트 수법
____DNS에 대한 공격
____ARP 스푸핑
__8.2.2 피싱
__8.2.3 가짜 웹 사이트 대책
____네트워크적인 대책
____TLS 도입
____확인하기 쉬운 도메인명 사용
03. 도청, 변조 대책
__8.3.1 도청, 변조 경로
__8.3.2 중간자 공격
____OWASP ZAP을 이용한 중간자 공격 실습
____OWASP ZAP 루트 인증서 설치
__8.3.3 대책
____TLS 이용 시 주의할 점
04. 악성코드 대책
__8.4.1 웹 사이트 악성코드 대책이란?
__8.4.2 악성코드 감염 경로
__8.4.3 웹 서버 악성코드 대책 개요
__8.4.4 웹 서버에 악성코드가 들어오지 않게 하기 위한 대책
____악성코드 방지 대책 여부 검토
____정책을 정하고 사용자에게 고지
____백신 소프트웨어를 이용한 대처
05. 정리
▣ 09장: 안전한 웹 응용 프로그램을 위한 개발 관리
01. 개발 관리에 따른 보안 대책의 전체 모습
02. 개발 체제
03. 개발 프로세스
__9.3.1 기획 단계에서의 유의점
__9.3.2 발주할 때의 유의점
__9.3.3 요건 정의를 할 때 유의할 점
__9.3.4 기본 설계 진행 방식
__9.3.5 상세 설계, 프로그래밍시 유의점
__9.3.6 보안 테스트의 중요성 및 방법
__9.3.7 수주자측 테스트
__9.3.8 개발자 쪽에서의 테스트(검수)
__9.3.9 운영 단계에서의 유의점
__9.3.10 애자일 개발 프로세스에 적용
04. 정리
출판사 서평
★ 이 책에서 다루는 내용 ★
◎ 취약점 설명과 정의
◎ 웹 보안 기초
◎ 기능별 발생 가능한 취약점
◎ 취약점의 원리 및 대응 방법
◎ 취약점으로 인한 영향
◎ 개발 시 고려해야 할 보안 기능
◎ OpenVAS를 이용한 플랫폼 취약점 진단
◎ OWASP ZAP을 이용한 취약점 진단
◎ 취약점 진단을 수행하는 방법
◎ 취약점 진단 보고서를 작성하는 방법
◎ 안전한 웹 애플리케이션 개발을 위한 관리 방법
◎ 네트워크 및 서버를 안전하게 지키는 방법
기본정보
ISBN | 9791158391690 | ||
---|---|---|---|
발행(출시)일자 | 2019년 10월 04일 | ||
쪽수 | 656쪽 | ||
크기 |
187 * 239
* 35
mm
/ 1246 g
|
||
총권수 | 1권 | ||
시리즈명 |
위키북스 해킹 & 보안 시리즈
|
Klover
e교환권은 적립 일로부터 180일 동안 사용 가능합니다.
리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 리뷰 종류별로 구매한 아이디당 한 상품에 최초 1회 작성 건들에 대해서만 제공됩니다.
판매가 1,000원 미만 도서의 경우 리워드 지급 대상에서 제외됩니다.
일부 타인의 권리를 침해하거나 불편을 끼치는 것을 방지하기 위해 아래에 해당하는 Klover 리뷰는 별도의 통보 없이 삭제될 수 있습니다.
- 도서나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 리뷰
- 도서와 무관한 내용의 리뷰
- 인신공격이나 욕설, 비속어, 혐오발언이 개재된 리뷰
- 의성어나 의태어 등 내용의 의미가 없는 리뷰
리뷰는 1인이 중복으로 작성하실 수는 있지만, 평점계산은 가장 최근에 남긴 1건의 리뷰만 반영됩니다.
구매 후 리뷰 작성 시, e교환권 200원 적립
문장수집
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
구매 후 리뷰 작성 시, e교환권 100원 적립