2달 동안 스터디 자료로 사용할 자료+ A
// 책 소개 //
[요 약]
악 의적인 해커들이 웹 애플리케이션을 어떻게 공격하는지, 실제 취약점을 찾기 위해 어떤 방법으로 접근하는지, 웹 애플리케이션에서 존재하는 취약점을 찾고 공격하기 위해 어떤 과정을 거쳐야 하는지를 자세히 설명하는 웹 해킹 실전서이자 보안 방어책을 알려주는 책이다.
[소 개]
지구를 해킹하자.
웹 애플리케이션은 인터넷상에 어디든지 존재하지만 안전하지 않다. 은행, 제조업체 등 많은 기업은 자체적으로 수많은 취약한 웹 애플리케이션을 가지고 있으며, 공격자에게 개인 정보 유출이나 부정을 유발하거나, 다른 시스템을 파괴하도록 허용하고 있다. 혁신적인 내용을 담고 있는 이 책은 악의적인 해커들이 웹 애플리케이션을 어떻게 공격하는지 보여준다.
이 책은 실전서다. 저자들은 보안/해킹 분야의 전문가이고 실제 취약점을 찾기 위해 어떤 방법으로 접근해야 하는지, 웹 애플리케이션에서 존재하는 취약점을 찾고 공격하기 위해 어떤 과정을 거쳐야 하는지 자세히 설명한다. 여러분은 이 책에서 다음과 같은 내용을 배울 수 있을 것이다.
적을 알고 나를 알면 백전백승 애 플리케이션을 보호하기 위해서는 애플리케이션에 존재하는 취약점을 먼저 파악하고 있어야 한다. 여러분이 웹 애플리케이션 설계자나 관리자라면 이 책을 통해 모든 공격을 방어하는 데 필요한 보호 방법을 습득함으로써 웹 애플리케이션을 빈틈없이 대비할 수 있을 것이다. 여러분이 개발자라면 이 책을 통해 웹 애플리케이션을 안전하게 개발하기 위해 어떻게, 어느 부분을 강화해야 하는지 배울 수 있을 것이다. ★ 이 책의 대상 독자 ★ 이 책을 읽어야 하는 가장 주요한 독자는 웹 애플리케이션을 공격하는 방법에 대해 전문적이거나 개인적인 관심이 있는 모든 사람이다. 또한 웹 애플리케이션을 개발하거나 관리하는 사람을 위한 책이기도 하다. 웹 애플리케이션 개발자나 관리자는 해커들이 공격하는 방법을 이해하고 익힘으로써 현재 개발하고 있거나 관리하고 있는 웹 애플리케이션을 보호하는 방법을 배울 수 있을 것이다. ★ 이 책의 구성 ★ 전반부는 현재 웹 애플리케이션 보안 현황과 가까운 미래에 웹 애플리케이션 보안이 어떻게 발전될지에 대한 동향을 설명하는 장으로 시작한다. 중반부터는 핵심 주제인 웹 애플리케이션을 공격하는 데 사용하는 기술들을 설명한다. 뒷부분은 이 책에서 소개한 다양한 기술적, 방법적 요소를 포함하고 있는 세 개의 장으로 결론을 맺는다. ★ 소스코드 ★ 원서 웹 사이트인 www.wiley.com/go/webhacker와 한국어판 도서정보 페이지 www.acornpub.co.kr/book/webhacker에서는 이 책에 나오는 소스코드와 각종 보충자료를 찾을 수 있다. ★ 옮긴이의 말 ★ 최 근 뉴스에 의하면 국내/외 수많은 웹 애플리케이션이 악의적인 사용자에 의해 침해 당하고 있습니다. 그리고 공격을 받은 웹 애플리케이션은 피싱이나 악성프로그램의 유출지로 활용되는 등 2차적인 공격 용도로 사용되고 있습니다. 이제는 웹 애플리케이션 침해가 개인의 호기심을 벗어나 범 국가적인 사이버 범죄에 활용되는 추세입니다. 그러나 웹 애플리케이션에 대한 보안 대책은 몇 년 전에 KISA에서 발표한 웹 애플리케이션 개발 보안 가이드와 각 보안컨설팅 회사에서 일하는 컨설턴트의 노하우에 의존하는 형국이었고, 실제 웹 애플리케이션의 모든 부분을 보완하기에는 역부족이었습니다. 제가 정보보안 컨설팅과 모의해킹을 수행하면서 100여 개 가까운 사이트의 침투 테스트를 수행해본 결과 보안이 아주 잘 되어있는 대기업/금융권조차 웹 애플리케이션에 심각한 취약점이 존재하였습니다. 고 객은 보안의 중요성을 알면서도 개발기간의 부족함과 보안지식의 한계로 인해 웹 애플리케이션은 항상 보안 취약점이 존재할 수 밖에 없는 현황이었습니다. 또한 웹 애플리케이션에 대한 체계적인 보안 대책과 공격 방법에 대한 상세한 대비책도 없었으며, 단지 OWASP와 같은 공개 프로젝트를 통해 신규 웹 애플리케이션의 취약점과 대응 방안을 마련하고 있었습니다. 실제 필드에서 일하고 있는 저자들의 다양한 경험과 노하우를 담은 이 책은 제가 지금까지 접했던 웹 애플리케이션 해킹과 관련된 책 중에서 바이블이라고 삼을 정도로 방대하고 자세한 내용을 담고 있습니다. 저도 이 책을 번역하면서 웹 애플리케이션을 해킹하는 기법과 보호하는 방법에 대해 많은 지식을 배울 수 있었습니다. 웹 애플리케이션을 공격하는 악의적인 공격자가 이 책에서 힌트를 얻을 수도 있겠지만, 그보다는 웹 애플리케이션을 만드는 개발자와 운영 관리하는 관리자에게 더욱 더 필요한 책이라고 생각합니다. 보안은 공격을 알아야지만 막을 수 있습니다. 공격하는 방법을 알지 못하고서는 보안을 할 수 없습니다. 이 책을 합법적인 영역에서 활용하셔서 대한민국의 웹 애플리케이션이 더욱 더 안전해지고 웹 애플리케이션을 사용하는 일반 사용자들이 좀 더 안심하고 웹을 사용할 수 있는 세상이 되었으면 합니다. 김경곤 |
// 목차 //
01장 웹 애플리케이션 보안
웹 애플리케이션의 발전
웹 애플리케이션 보안
정리
02장 핵심 방어 메커니즘
사용자 접근 처리
사용자 입력 값 처리
공격자 핸들링
애플리케이션 관리
정리
확인문제
03장 웹 애플리케이션 기술
HTTP 프로토콜
웹 기능
인코딩 스키마
정리
확인문제
04장 애플리케이션 지도 작성
컨텐츠와 기능 수집
애플리케이션의 분석
정리
확인문제
05 클라이언트 측 통제 우회
클라이언트를 통한 데이터 전송
사용자 데이터의 획득: HTML 폼
사용자 데이터의 획득: thick-client 컴포넌트
클라이언트 측 데이터의 안전한 처리
정리
확인문제
06장 인증 무력화
인증 기술
인증 메커니즘에서 발견되는 설계상의 결함
사용자 인증 구현상의 결함
안전한 사용자 인증 처리
정리
확인문제
07장 세션 관리 공격
사용자의 상태에 대한 유지 필요
세션 토큰을 만드는 과정에서 발생하는 취약점
세션 토큰을 처리할 때 발생하는 취약점
안전한 세션 관리
정리
확인문제
08장 접근 통제 공격
일반적인 취약점
접근 통제 공격
안전한 접근 통제
정리
확인문제
09장 코드 삽입 공격
인터프리터 언어 안에 공격 코드 삽입
SQL 내에 공격 코드 삽입
운영체제 명령의 삽입
웹 스크립트 언어 안에 공격 코드 삽입
SOAP 안으로 공격 코드 삽입
XPath 안으로 공격 코드 삽입
SMTP 안으로 공격 코드 삽입
LDAP 안으로 공격 코드 삽입
정리
확인문제
10장 경로 탐색 공격
일반적인 취약점
경로 탐색 취약점 검색
경로 탐색 공격 예방법
정리
확인문제
11장 애플리케이션 로직 공격
로직 결함의 특징
현실적으로 존재하는 로직 결함
논리적 결함의 회피
정리
확인문제
12장 다른 사용자 공격
크로스사이트 스크립팅
공격의 리다이렉션
HTTP 헤더 인젝션
프레임 인젝션
요청 위조
JSON 하이재킹
세션 고정
액티브X 컨트롤 공격
로컬 비밀 공격
고급 악용 기법
정리
확인문제
13장 맞춤 공격 자동화
맞춤 자동화의 사용
유효한 식별자 수집
유용한 데이터 대량 수집
일반적인 취약점 퍼징
공격 종합: 버프 인트루더
정리
확인문제
14장 정보 노출 공격
에러 메시지 공격
공개된 정보 수집
추론 이용
정보 누설 예방
정리
15장 컴파일된 애플리케이션 공격
버퍼 오버플로우 취약점
정수 취약점
포맷 스트링 취약점
정리
확인문제
16장 애플리케이션 아키텍처 공격
계층적 아키텍처
공유 호스팅과 애플리케이션 서비스 공급자
정리
확인문제
17장 웹서버 공격
웹서버 설정 취약점
웹서버 소프트웨어의 취약점
정리
확인문제
18장 소스코드 내의 취약점 발견
코드 검토에 대한 접근 방식
일반적인 취약점 시그니쳐
자바 플랫폼
ASP.NET
PHP
펄
자바스크립트
데이터베이스 코드 컴포넌트
코드 브라우징에 대한 도구
정리
확인문제
19장 웹 애플리케이션 해커의 도구모음
웹 브라우저
통합된 검사 슈트
취약점 스캐너
그 외의 도구
정리
20장 웹 애플리케이션 해커의 공격 방법론
일반적인 가이드라인
1. 애플리케이션 컨텐츠 맵 작성
2. 애플리케이션 분석
3. 클라이언트 측 통제 검사
4. 인증 메커니즘 검사
5. 세션 관리 메커니즘 검사
6. 접근 통제 검사
7. 입력 기반 취약점에 대한 검사
8. 특정 기능에 대한 입력 값 취약점 검사
9. 로직 결함에 대한 검사
10. 공유된 호스팅 환경에 대한 취약점 검사
11. 웹서버 취약점 검사
12. 그 외 다양한 검사