책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788960770645
· 쪽수 : 496쪽
· 출판일 : 2008-11-10
책 소개
목차
1장 Ajax 보안 소개
Ajax 첫걸음
Ajax란 무엇인가?
비동기 방식
자바스크립트
XML
DHTML(다이내믹 HTML)
Ajax 아키텍처로의 패러다임 전환
무거운 클라이언트 아키텍처
가벼운 클라이언트 아키텍처
Ajax: 아키텍처계의 금발 미녀
보안 관점에서 본 무거운 클라이언트 애플리케이션
보안 관점에서 본 가벼운 클라이언트 애플리케이션
보안 관점에서 본 Ajax 애플리케이션
보안 취약점의 재앙
복잡도, 투명성 그리고 규모의 확장
사회학적인 이슈
Ajax 애플리케이션: 매력적인 전략 목표
결론
2장 보이지 않는 도둑
이브
HighTechVacations.net 해킹
쿠폰 시스템 해킹
클라이언트단 데이터 바인딩 공격
Ajax API 공격
보이지 않는 도둑
3장 웹 공격
공격의 종류
리소스 열거
파라미터 조작
그 밖의 공격 방법
크로스 사이트 요청 변조
피싱
서비스 거부 공격
리소스 열거와 파라미터 조작으로부터 보호하라
보안 소켓 계층
결론
4장 Ajax 공격 영역
공격 영역의 이해
전통적인 웹 애플리케이션 공격 영역
폼 입력
쿠키
헤더
숨겨진 폼 입력
쿼리 파라미터
업로드 파일
전통적인 웹 애플리케이션 공격: 성적표
웹 서비스 공격 영역
웹 서비스 메소드
웹 서비스 정의
Ajax 애플리케이션 공격 영역
Ajax 애플리케이션 공격 영역의 근원
해커에게 최고의 먹잇감
적절한 입력 확인
블랙리스트와 특별 조치의 문제
병 대신 병의 징후 다루기
화이트리스트 입력 검증
정규 표현
입력 검증에 대한 숙고
리치 사용자 입력 검증
마크업 언어 검증
이진 파일 검증
자바스크립트 소스코드 검증
시리얼라이즈 데이터 검증
사용자 지원 콘텐츠의 신화
결론
5장 Ajax 코드 복잡도
다양한 언어와 구조
배열 인덱싱
스트링 연산
코드 주석
다른 사람의 문제
자바스크립트와 관련해
인터프리트, 컴파일이 아니야
약한 타입 체크
비동기
경쟁 상태
데드락과 철학자의 식사 문제
클라이언트단 동기화
누구의 조언을 듣느냐가 중요하다
결론
6장 Ajax 애플리케이션의 투명성
블랙박스와 화이트박스
예: MyLocalWeatherForecast.com을 'Ajax'로
비교
API로서의 웹 애플리케이션
데이터 타입과 메소드 시그너처
보안과 관련한 특정 오판
부당한 인증
기능이 나뉜 서버 API
자바스크립트에서의 세션 상태 저장
민감한 정보가 사용자에게 노출될 때
클라이언트단 코드에 있는 주석과 문서화
클라이언트단에서 수행하는 데이터 변환
모호함을 통한 보안
난독화
결론
7장 Ajax 애플리케이션 하이재킹
Ajax 프레임워크의 하이재킹
실수로 인한 함수 덮어쓰기
함수 덮어쓰기의 예
주문형 Ajax의 하이재킹
JSON API의 하이재킹
객체 리터럴의 하이재킹
JSON 하이재킹이 가능한 이유
JSON 하이재킹을 막자
결론
8장 클라이언트단 스토리지 공격
클라이언트단 스토리지 시스템 개관
일반적인 클라이언트단 스토리지 보안
HTTP 쿠키
쿠키 접근 제어 규칙
쿠키의 생존시간
쿠키 스토리지에 대한 추가 기억사항
쿠키 스토리지 요약
플래시 로컬 공유 객체
플래시 로컬 공유 객체 요약
DOM 스토리지
세션 스토리지
글로벌 스토리지
DOM 스토리지의 구멍
DOM 스토리지 보안
DOM 스토리지 요약
인터넷 익스플로러 userData
보안 요약
일반적인 클라이언트단 스토리지 공격법과 대처법
크로스 도메인 공격
크로스 디렉토리 공격
크로스 포트 공격
결론
9장 오프라인 Ajax 애플리케이션
오프라인 Ajax 애플리케이션
구글 기어
자체 보안 기능과 구글 기어의 단점
작업풀의 이용
LocalServer 데이터의 노출과 감염
구글 기어 데이터베이스로의 직접 접근
SQL 인젝션과 구글 기어
클라이언트단 SQL 인젝션도 위험한가?
DOJO.OFFLINE
키를 안전하게
데이터를 안전하게
패스워드의 선택이 멋진 키를 좌우한다
클라이언트단 입력을 검증하자
오프라인 애플리케이션에 대한 그 밖의 접근법
결론
10장 요청 출처 이슈
로봇, 스파이더, 브라우저, 크롤러
안녕, 내 이름은 파이어폭스야. 청크화된 인코딩, PDF도 좋아하고 해변에서 오랫동안 산책하는 것도 좋아해
요청 출처 불확정성과 자바스크립트
웹 서버 관점에서 본 Ajax 요청
당신일까, 당신을 가장한 누구일까
자바스크립트로 HTTP 요청 보내기
pre-Ajax 세계에서의 자바스크립트 HTTP 공격
XMLHttpRequest로 콘텐츠 사냥하기
XSS/XHR 조합 공격
방어
결론
11장 웹 매시업과 애그리게이터
머신에서 활용하는 인터넷 데이터
90년대 초기: 웹의 시대가 오다
90대년 중반: 머신 웹의 탄생
2000년대: 머신 웹의 성숙기
공개적으로 사용 가능한 웹 서비스
매시업: 웹의 프랑켄슈타인
ChicagoCrime.org
HousingMaps.com
그 밖의 매시업
매시업 생성
매시업과 Ajax
브리지, 프록시, 게이트웨이 - 이런!
Ajax 프록시 대안
Ajax 프록시 공격
HousingMaps.com?
매시업의 입력 검증
애그리게이트 사이트
보안과 신뢰가 떨어지는 상황
결론
12장 프리젠테이션 계층에 대한 공격
프리젠테이션의 콘텐츠 괴롭히기
프리젠테이션 계층에 대한 공격
캐스케이딩 스타일시트에서 정보 가져오기
해킹을 보고 느껴라
발전된 형태의 해킹을 보고 느껴라
삽입된 프로그램 로직
캐스케이딩 스타일시트 요소
브라우저 캐시 수정
프리젠테이션 계층 공격 방지
결론
13장 자바스크립트 웜
자바스크립트 웜 개요
기존의 컴퓨터 바이러스
자바스크립트 웜
자바스크립트 웜의 구성
자바스크립트의 한계
자바스크립트 웜의 복제
자바스크립트 웜 실행부
중간 정리
사례 연구: 새미 웜
어떻게 동작하는가
바이러스 실행부
새미 웜에 대한 결론
사례 연구: 야매너 웜(JS/Yamanner-A)
어떻게 동작하는가
바이러스 실행부
야매너 웜에 대한 결론
실제 자바스크립트 웜에서 배우는 교훈
결론
14장 Ajax 애플리케이션 테스트
블랙 매직
모든 사람이 웹 브라우저를 이용해 웹 서핑을하는 것은 아니다.
Catch-22
보안 테스트 도구 ― 혹은 왜 실제 삶이 할리우드 같지 않은가?
사이트 목록 생성
취약점 탐지
분석 도구: Sprajax
분석 도구: Paros Proxy
분석 도구: LAPSE
분석 도구: WebInspect™
보안 테스트에 대한 숙고
15장 Ajax 프레임워크 분석
ASP.NET
ASP.NET AJAX(이전에 ATLAS)
ScriptService
보안성 비교: UpdatePanel과 ScriptService
ASP.NET AJAX와 WSDL
ValidateRequest
ViewStateUserKey
ASP.NET 환경설정과 디버깅
PHP
Sajax
Sajax와 크로스 사이트 요청 변조
Java EE
DWR
자바스크립트 프레임워크
클라이언트단 코드에서 주의할 사항
Prototype
결론
부록 A 새미 웜 소스코드
부록 B 야매너 웜 소스코드