책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > OS/Networking > 네트워크 보안/해킹
· ISBN : 9788960773950
· 쪽수 : 477쪽
· 출판일 : 2013-01-30
책 소개
목차
『해킹 초보를 위한 웹 공격과 방어』
1장 크로스사이트 스크립팅
___HTML 인젝션의 이해
______인젝션 가능 지점 찾기
______XSS 공격 유형
______안전한 문자셋 처리
______오동작을 이용한 필터 우회
______금지 문자는 사용하지 않는 XSS 공격
______브라우저의 특징 고려
______기타 고려 사항
___방어법
______문자셋 명시
______문자셋과 인코딩의 정규화
______출력 인코딩
______제외 목록과 정규식 사용 시 주의점
______코드 재사용(다시 구현하지 말자)
______자바스크립트 샌드박스
___정리
2장 크로스사이트 요청 위조
___크로스사이트 요청 위조의 이해
______강제 브라우징을 이용한 요청 위조
______이미 인증된 사용자 공격
______CSRF와 XSS의 위험한 만남
______POST를 이용한 공격
______다양한 방식으로 접근 가능한 웹
______CSRF의 변형: 클릭재킹
___방어법
______웹 애플리케이션 방어
______웹 브라우저 방어
___정리
3장 SQL 인젝션
___SQL 인젝션의 이해
______질의문 깨부수기
______데이터베이스 정보 추출
______기타 공격 벡터
___방어법
______입력 검증
______질의문 보호
______정보 보호
______데이터베이스 최신 패치 유지
___정리
4장 잘못된 서버 설정과 예측 가능한 웹페이지
___잘못된 서버 설정과 예측 가능한 웹페이지로 인한 공격의 이해
______안전하지 않은 디자인 패턴 식별
______운영체제 공격
______서버 공격
___방어법
______파일 접근 제한
______객체 참조 사용
______취약한 함수의 차단
______권한 확인 의무화
______네트워크 연결 제한
___정리
5장 인증 방식 우회
___인증 공격의 이해
______세션 토큰 재활용
______브루트포스
______스니핑
______암호 초기화
______크로스사이트 스크립팅
______SQL 인젝션
______사용자 속이기
___방어법
______세션 쿠키 보호
______사용자 개입
______사용자 귀찮게 하기
______요청 처리율 제한
______기록과 다중 분석
______추가적인 인증 기법의 사용
______피싱 방어
______암호 보호
___정리
6장 로직 공격
___로직 공격의 이해
______작업 흐름의 오용
______정책과 실무의 허점 공격
______귀납법
______서비스 거부
______취약한 디자인 패턴
______정보 선별
___방어법
______요구 사항 문서화
______광범위한 테스트 케이스 생성
______정책 반영
______방어적 프로그래밍
______클라이언트 검증
___정리
7장 신뢰할 수 없는 웹
___멀웨어와 브라우저 공격의 이해
______멀웨어
______브라우저 플러그인의 다면성
______도메인 네임 시스템과 출처
___방어법
______안전한 웹 서핑
______브라우저 고립
______DNS 보안 확장
___정리
『해킹사고의 재구성』
1장 보안관제와 해킹사고 분석
___1.1 정의
___1.2 공통점과 차이점
___1.3 보안관제 절차
______1.2.1 보안관제: 이벤트 탐지
______1.2.2 보안관제: 초기 분석
______1.2.3 보안관제: 긴급 대응
______1.2.4 보안관제: 사고 전파
___1.4 해킹사고 분석 절차
______1.4.1 해킹사고 분석: 접수
______1.4.2 해킹사고 분석: 분석
______1.4.3 해킹사고 분석: 피해 복구
______1.4.4 해킹사고 분석: 신고 및 보고
___1.5 정리
2장 해킹의 증거
___2.1 정보 보호 시스템 개요
___2.2 로그
___2.3 해킹사고의 분류와 그 흔적
___2.4 IDS/IPS
______2.4.1 침입 탐지의 방법
______2.4.2 IDS의 구성 형태
______2.4.3 IDS의 로그
___2.5 방화벽
______2.5.1 방화벽의 주요 기능
______2.5.2 방화벽의 구성 형태
______2.5.3 방화벽의 로그
___2.6 안티 DDoS
______2.6.1 안티 DDoS 시스템의 차단 기능
______2.6.2 안티 DDoS 시스템의 로그
___2.7 WAF
______2.7.1 WAF의 종류와 기능
______2.7.2 WAF의 로그
___2.8 웹 접근 로그
______2.8.1 접근 로그
______2.8.2 에러 로그
___2.9 운영체제 로그
______2.9.1 유닉스 계열 로그
______2.9.2 윈도우 시스템 로그
___2.10 그 외의 흔적
______2.10.1 ESM 로그
______2.10.2 DBMS 로그
___2.11 정리
3장 증거와의 소통
___3.1 해킹사고의 증상과 취약점
______3.1.1 위/변조 사고
______3.1.2 정보 유출 사고
______3.1.3 DDoS 공격
___3.2 증거 추적
______3.2.1 변조(삭제, 추가)
______3.2.2 시스템 변조
______3.2.3 접속 시 특정 프로그램 설치 유도
______3.2.4 클릭 후 이상동작
______3.2.5 정보 유출 신고 접수
______3.2.6 서비스가 안 되거나 느리고 시스템 부하가 가중됨
___3.3 증거를 보는 눈 그리고 증거를 조합한 사고의 재구성
______3.3.1 피해 시스템 식별
______3.3.2 피해 증상 파악
______3.3.3 피해 시스템 환경 확인
______3.3.4 증거 수집
______3.3.5 증거 추출과 해커 식별
______3.3.6 해커의 행위 추론과 보고서 작성
___3.4 정리
4장 웹 해킹사고 분석 사례
___4.1 홈페이지 변조를 통한 악성코드 유포 시도
______4.1.1 확인과 증상
______4.1.2 환경 분석과 로그 수집
______4.1.3 해킹사고 분석
______4.1.4 해킹사고 분석 보고서
___4.2 애플리케이션 환경 설정 실수로 인한 웹셸 업로드
______4.2.1 확인과 증상
______4.2.2 환경 분석과 로그 수집
______4.2.3 해킹사고 분석
______4.2.4 해킹사고 분석 보고서
___4.3 DDoS
______4.3.1 확인과 증상
______4.3.2 환경 분석과 로그 수집
______4.3.3 해킹사고 분석
___4.4 SQL 인젝션
______4.4.1 확인과 증상
______4.4.2 환경 분석과 로그 수집
______4.4.3 해킹사고 분석
______4.4.4 해킹사고 분석 보고서
___4.5 정리
5장 사이버 침해 대응 모델
___5.1 이론과 실제의 차이
______5.1.1 보안 시스템이 모든 해킹을 탐지하고 차단할 것이다
______5.1.2 모든 시스템은 이상적인 최적의 상태로 운영할 것이다
___5.2 사이버 침해 대응 모델
______5.2.1 현재 사이버 침해 대응 시스템 구성
______5.2.2 현재 사이버 침해 대응 시스템의 한계
______5.2.3 사이버 침해 대응 모델
___5.3 정리
『웹 해킹 & 보안 완벽 가이드』
01장 웹 애플리케이션 보안
___웹 애플리케이션의 발전
______일반적인 웹 애플리케이션 기능
______웹 애플리케이션의 혜택
___웹 애플리케이션 보안
______"이 사이트는 안전합니다."
______보안 문제의 핵심: 사용자가 임의의 입력 값을 제공할 수 있다
______주요 문제점
_________미성숙된 보안 의식
_________자체 개발
_________개발하기 쉽다는 함정
_________빠르게 진화하는 위협 프로파일
_________자원과 시간 제약 요소
_________지나치게 확장돼 응용된 기술
______새 보안 경계선
______웹 애플리케이션 보안의 미래
___정리
02장 핵심 방어 메커니즘
___사용자 접근 처리
______인증
______세션 관리
______접근 제어
___사용자 입력 값 처리
______다양한 입력 값
______입력 값 조작에 대한 처리 방법
_________위험하다고 알려진 것들은 모두 차단
_________안전하다고 알려진 것들은 모두 수용
_________불순물 제거
_________안전한 데이터 처리
_________의미론적 검증
______경계 검증
______다단계 검증과 정규화
___공격자 핸들링
______에러 핸들링
______감사 로그 관리
______관리자에 경고
______공격으로부터의 방어
___애플리케이션 관리
___정리
___확인문제
03장 웹 애플리케이션 기술
___HTTP 프로토콜
______HTTP 요청
______HTTP 응답
______HTTP 메소드
______URL
______HTTP 헤더
_________일반적인 헤더
_________요청 헤더
_________응답 헤더
______쿠키
______상태 코드
______HTTPS
______HTTP 프록시
______HTTP 인증
___웹 기능
______서버 측 기능
_________자바 플랫폼
_________ASP.NET
_________PHP
______클라이언트 측 기능
_________HTML
_________하이퍼링크
_________폼
_________자바스크립트
_________씩 클라이언트(Thick Client) 컴포넌트
______상태와 세션
___인코딩 스키마
______URL 인코딩
______유니코드 인코딩
______HTML 인코딩
______Base64 인코딩
______Hex 인코딩
___정리
___확인문제
04장 애플리케이션 지도 작성
___컨텐츠와 기능 수집
______웹 스파이더링
______User-Directed 스파이더링
______숨겨진 컨텐츠의 발견
_________무차별 대입 공격 기법
_________제시된 컨텐츠에서 추측
_________공개된 정보 이용
_________웹서버 프로그램의 이용
______애플리케이션 페이지와 기능 경로
______숨겨진 변수의 발견
___애플리케이션의 분석
______사용자 입력이 가능한 곳 확인
______서버 측 기술 확인
_________배너 가져오기
_________HTTP 핑거프린팅
_________파일 확장자
_________디렉터리명
_________세션 토큰
_________제3자 코드 컴포넌트
______서버 측 기능 확인
_________요청 값 해부
_________애플리케이션 행동의 추측
______핵심 공격 취약 영역 매핑
___정리
___확인문제
______
05장 클라이언트 측 통제 우회
___클라이언트를 통한 데이터 전송
______숨겨진 폼 필드
______HTTP 쿠키
______URL 매개변수
______리퍼러 헤더
______변형된 데이터
______ASP.NET ViewState
___사용자 데이터의 획득: HTML 폼
______길이 제한
______스크립트 기반 검증
______비활성화된 요소
___사용자 데이터의 획득: 씩 클라이언트 컴포넌트
______자바 애플릿
_________자바 바이트코드의 디컴파일
_________바이트코드 혼란 기법에 대응하기
______액티브X 컨트롤
_________역공학
_________엑스포티드 함수 조작
_________컨트롤에 의해 처리된 입력 값의 고정
_________관리된 코드 디컴파일링
______쇽웨이브 플래시 객체
___클라이언트 측 데이터의 안전한 처리
______클라이언트를 통한 데이터 전송
______클라이언트가 생성한 데이터 검증
______로깅과 경고
___정리
___확인문제
06장 인증 무력화
___인증 기술
___인증 메커니즘에서 발견되는 설계상의 결함
______나쁜 비밀번호
______무차별 대입 공격이 가능한 로그인
______불필요하게 상세한 로그인 실패 메시지
______로그인 정보의 전송 취약성
______비밀번호 변경 처리
______비밀번호 분실 처리
______"내 정보 기억하기"의 처리
______신분 전환 처리
______사용자 정보의 불완전한 검증
______고유하지 않은 사용자명 문제
______예측 가능한 사용자명
______추측 가능한 초기 비밀번호
______로그인 정보 전달 과정에서의 위험성
___사용자 인증 구현상의 결함
______장애 우회를 내포한 로그인 메커니즘
______다단계 로그인 메커니즘의 결함
______로그인 정보 보관상의 위험
___안전한 사용자 인증 처리
______안전한 로그인 정보의 사용
______로그인 정보의 기밀 유지
______로그인 정보의 제대로 된 검증
______정보 유출 방지
______무차별 대입 공격 차단
______비밀번호 변경 기능의 악용 차단
______계정 복구 기능 악용 차단
______로그, 감시, 통지
___정리
___확인문제
07장 세션 관리 공격
___사용자의 상태에 대한 유지 필요
______세션 대안
___세션 토큰을 만드는 과정에서 발생하는 취약점
______중요한 토큰
______추측 가능한 토큰
_________숨겨진 시퀀스
_________시간 의존성
_________약한 무작위 번호 생성
___세션 토큰을 처리할 때 발생하는 취약점
______네트워크상의 토큰 노출
______로그에서 토큰 노출
______세션에 대한 취약한 토큰 매핑
______세션 종료의 취약점
______토큰 하이재킹에 대한 클라이언트 노출
______개방적인 쿠키 범위
_________쿠키 도메인 제한
_________쿠키 경로 제한
___안전한 세션 관리
______강력한 토큰 생성
______토큰이 생성되고 나서 없어질 때까지 안전하게 보호
_________페이지당 토큰
______로그, 감시, 경고
_________민감한 세션 만료
___정리
___확인문제
08장 접근 통제 공격
___일반적인 취약점
______보안 기능이 허술하게 돼있는 경우
______식별자를 기반으로 한 기능
______여러 단계에 걸친 보안 기능
______정적 페이지
______안전하지 않은 접근 통제 방법
___접근 통제 공격
___안전한 접근 통제
______다계층 접근 통제 모델
___정리
___확인문제
09장 코드 삽입 공격
___인터프리터 언어 안에 공격 코드 삽입
___SQL 내에 공격 코드 삽입
______기본적인 취약점 공격
______로그인 우회
______SQL 인젝션 취약점 검색
_________문자열 데이터
_________숫자 데이터
______인젝션에 이용되는 다양한 구문
_________SELECT문
_________INSERT문
_________UPDATE문
_________DELETE문
______UNION 연산자
______데이터베이스에 대한 정보 수집
______유용한 데이터 추출
_________오라클 해킹
_________MS-SQL 해킹
______ODBC 에러 메시지 해킹(MS-SQL에 한해)
_________테이블과 칼럼 이름의 추출
_________임의의 데이터 추출
_________반복 이용
______필터 우회
_________막혀진 문자 회피
_________간단한 검증 우회
_________SQL 주석 이용
_________막혀진 문자열 조작
_________동적 실행 이용
_________안전하지 않게 구현된 필터의 공격
______2차 SQL 인젝션
______발전된 공격
_________숫자를 이용한 데이터의 추출
_________Out-of-Band 채널 이용
_________추론 이용: 조건 응답
______SQL 인젝션을 넘어서: 데이터베이스 권한 상승 공격
_________MS-SQL
_________오라클
_________MySQL
______SQL 문법과 에러 참조
_________SQL 문법
_________SQL 에러 메시지
______SQL 인젝션의 방어
_________부분적인 효과
_________매개변수화된 쿼리
_________더욱 철저한 방어
___운영체제 명령 삽입
______예제 1: Perl을 통한 삽입
______예제 2: ASP를 통한 인젝션
______운영체제 명령어 삽입 취약점 검색
______운영체제 명령어 삽입 공격의 방어
___웹 스크립트 언어 안에 공격 코드 삽입
______동적 실행 취약점
_________PHP에서의 동적 실행
_________ASP에서 동적 실행
_________동적 실행 취약점의 발견
______파일 포함 취약점
_________원격 파일 포함
_________로컬 파일 포함
_________파일 포함 취약점의 발견
______스크립트 삽입 취약점의 방어
___SOAP 안으로 공격 코드 삽입
______SOAP 인젝션 취약점의 검색과 공격
______SQL 인젝션의 방어
___XPath 안으로 공격 코드 삽입
______애플리케이션 로직 파괴
______다양한 XPath 인젝션
______블라인드 XPath 인젝션
______XPath 인젝션 취약점 검색
______XPath 인젝션의 방어
___SMTP 안으로 공격 코드 삽입
______이메일 헤더 조작
______SMTP 명령어 삽입
______SMTP 삽입 취약점 검색
______SMTP 인젝션의 방어
___LDAP 안으로 공격 코드 삽입
______쿼리 속성 삽입
______검색 필터 수정
______LDAP 인젝션 취약점 검색
______LDAP 인젝션 방어
___정리
___확인문제
10장 경로 탐색 공격
___일반적인 취약점
___경로 탐색 취약점 검색
______공격할 대상의 위치 검색
______경로 탐색 취약점의 검색
______탐색 공격에 대한 보안 대책 우회
_________커스텀 인코딩을 이용한 파일명 생성
______경로 탐색 취약점의 공격
___경로 탐색 공격 예방법
___정리
___확인문제
11장 애플리케이션 로직 공격
___로직 결함의 특징
___현실적으로 존재하는 로직 결함
______예제 1: 취약한 비밀번호 변경 함수
_________기능
_________가정
_________공격
______예제 2: 체크아웃을 위한 절차
_________기능
_________가정
_________공격
______예제 3: 보험 상품 위험성
_________기능
_________가정
_________공격
______예제 4: 은행 털기
_________기능
_________가정
_________공격
______예제 5: 감사 흔적의 삭제
_________기능
_________가정
_________공격
______예제 6: 비즈니스 기능 제한의 파괴
_________기능
_________가정
_________공격
______예제 7: 대량 구매 할인 시 존재하는 결함
_________기능
_________가정
_________공격
______예제 8: 이스케이프의 회피
_________기능
_________가정
_________공격
______예제 9: 검색 기능 악용
_________기능
_________가정
_________공격
______예제 10: 디버그 메시지의 착취
_________기능
_________가정
_________공격
______예제 11: 로그인 경쟁
_________기능
_________가정
_________공격
___로직 결함의 회피
___정리
___확인문제
12장 애플리케이션 사용자 공격
___크로스사이트 스크립팅
______반사된 크로스사이트 스크립팅 취약점
_________취약점 악용
______저장된 크로스사이트 스크립팅 취약점
_________업로드된 파일에 크로스사이트 스크립팅 저장
______DOM 기반의 크로스사이트 스크립팅 취약점
______실제적인 크로스사이트 스크립팅 공격
______체이닝 크로스사이트 스크립팅과 다른 공격
______크로스사이트 스크립팅 공격 페이로드
_________가상 웹페이지 변조
_________트로이잔 삽입
_________사용자 행동 유도
_________신뢰 관계 악용
_________클라이언트 측 공격 증가
______크로스사이트 스크립팅 공격 전달 매커니즘
_________반사와 DOM 기반의 크로스사이트 스크립팅 공격 전달
_________저장된 크로스사이트 스크립팅 공격 전송
______크로스사이트 스크립팅 취약점 발견과 악용
_________반사된 크로스사이트 스크립팅 취약점 발견과 악용
_________저장된 크로스사이트 스크립팅 취약점 발견과 악용
_________DOM 기반의 크로스 사이트 스크립팅 취약점 발견과 악용
______HTTP 쿠키와 크로스사이트 트레이싱
______크로스사이트 스크립팅 공격 예방
_________반사되거나 저장된 크로스사이트 스크립팅 예방
_________DOM 기반의 크로스사이트 스크립팅 예방
_________XST 예방
___리다이렉션 공격
______리다이렉션 취약점 발견과 악용
_________장애물 우회 공격
______리다이렉션 취약점 예방
___HTTP 헤더 인젝션
______헤더 인젝션 취약점 공격
_________쿠키 삽입
_________다른 공격 수행
_________HTTP 응답 분리
______헤더 인젝션 취약점 예방
___프레임 인젝션
______프레임 인젝션 악용
______프레임 인젝션 예방
___요청 위조
______온사이트 요청 위조
______크로스사이트 요청 위조
_________XSRF 취약점 공격
_________XSFR 취약점 예방
___JSON 하이재킹
______JSON
______JSON에 대한 공격
_________배열 생성자 함수 재정의
_________콜백 함수 구현
______JSON 하이재킹 취약점 발견
______JSON 하이재킹 예방
___세션 고정
______세션 고정 취약점 발견과 악용
______세션 고정 취약점 예방
___액티브X 컨트롤 공격
______액티브X 취약점 발견
______액티브X 취약점 예방
___로컬 프라이버시 공격
______장기간 유지되는 쿠키
______캐시된 웹 컨텐츠
______검색 기록
______자동 완성 기능
______로컬 프라이버시 공격 예방
___발전된 공격 기법
______Ajax 공격
_________비동기 오프사이트 요청
______안티 DNS 피닝
_________가설 연역적 공격
_________DNS 피닝
_________DNS 피닝에 대한 공격
______브라우저 공격 프레임워크
___정리
___확인문제
13장 맞춤 공격 자동화
___맞춤 자동화의 사용
___유효한 식별자 수집
______기본적인 접근 방법
______힌트 찾기
_________HTTP 상태 코드
_________응답 길이
_________응답 본문
_________위치 헤더
_________쿠키 설정 헤더
_________경과 시간
______공격 스크립트
______JAttack
___유용한 데이터 대량 수집
___일반적인 취약점 퍼징
___공격 종합: 버프 인트루더
_________페이로드 위치 설정
_________페이로드 선택
_________응답 분석 설정
_________공격 1: 식별자 수집
_________공격 2: 정보 수집
_________공격 3: 애플리케이션 퍼징
___정리
___확인문제
14장 정보 노출 공격
___에러 메시지 공격
______스크립트 에러 메시지
______스택 추적
______디버그 메시지 정보
______서버와 데이터베이스 메시지
______공개된 정보 이용
______중요한 에러 메시지 엔지니어링
___공개된 정보 수집
___추론 이용
___정보 노출 예방
______일반적인 에러 메시지 사용
______중요한 정보 보호
______클라이언트 측의 정보 노출 최소화
___정리
___확인문제
15장 컴파일된 애플리케이션 공격
___버퍼 오버플로우 취약점
______스택 오버플로우
______힙 오버플로우
______"off-by-one" 취약점
______버퍼 오버플로우 취약점 탐색
___정수 취약점
______정수 오버플로우
______부호 관련 문제
______정수 취약점 탐지
___포맷 스트링 취약점
______포맷 스트링 취약점 탐지
___정리
___확인문제
16장 애플리케이션 아키텍처 공격
___계층적 아키텍처
______다층 아키텍처 공격
_________계층 간 신뢰 관계 공략
_________다른 계층 파괴
______다른 계층 공격
______계층화된 구조 보호
______신뢰 관계 최소화
______다른 컴포넌트 분리
______심도 있는 방어 체계 적용
___공유 호스팅과 애플리케이션 서비스 공급자
______가상 호스팅
______공유된 애플리케이션 서비스
______공유된 환경 공격
_________접근 메커니즘 대상 공격
_________애플리케이션 간의 공격
______공유된 환경 보호
_________고객 접근 보호
_________고객별 기능 분리
_________공유된 애플리케이션에서 컴포넌트 분리
___정리
___확인문제
17장 웹서버 공격
___웹서버 설정 취약점
______디폴트 계정
______디폴트 컨텐츠
_________디버그 기능
_________샘플 기능
_________강력한 기능
______디렉터리 목록
______위험한 HTTP 메소드
______프록시로서 웹서버
______잘못 설정한 가상 호스팅
______웹서버 설정 보안
___웹서버 소프트웨어의 취약점
______버퍼 오버플로우 취약점
_________마이크로소프트 IIS ISAPI 확장
_________아파치 Chunked 인코딩 오버플로우
_________마이크로소프트 IIS WebDAV 오버플로우
_________iPlanet 검색 오버플로우
______경로 탐색 취약점
_________Accipiter DirectServer
_________Alibaba
_________Cisco ACS Acme.server
_________McAfee EPolicy Orcestrator
______인코딩과 정형화 취약점
_________Allarie JRun 디렉터리 목록 취약점
_________마이크로소프트 IIS 유니코드 경로 탐색 취약점
_________오라클 PL/SQL Exclusion 목록 우회
______웹서버 취약점 발견
______웹서버 소프트웨어 보안
_________좋은 추적 기록을 가지고 있는 소프트웨어를 선택
_________벤더 패치 적용
_________보안 강화 수행
_________새로운 취약점 모니터링
_________강력한 방어 기능 사용
___정리
___확인문제
18장 소스코드 내의 취약점 발견
___코드 검토에 대한 접근 방식
______블랙박스와 화이트박스 테스트
______코드 검토 방법론
___일반적인 취약점 시그니처
______크로스사이트 스크립팅
______SQL 인젝션
______경로 탐색
______임의의 리다이렉션
______운영체제 명령어 인젝션
______백도어 비밀번호
______네이티브 소프트웨어 버그
_________버퍼 오버플로우 취약점
_________정수 취약점
_________포맷 스트링 취약점
______소스코드 주석
___자바 플랫폼
______사용자가 제공한 데이터 확인
______세션 상호작용
______잠재적으로 위험한 API
_________파일 접근
_________데이터베이스 접근
_________동적 코드 실행
_________운영체제 명령어 실행
_________URL 리다이렉션
_________소켓
______자바 환경 설정
___ASP.NET
______사용자가 제공한 데이터 확인
______세션 상호작용
______잠재적으로 위험한 API
_________파일 접근
_________데이터베이스 접근
_________동적 코드 실행
_________운영체제 명령어 실행
_________URL 리다이렉션
_________소켓
______ASP.NET 환경 설정
___PHP
______사용자가 제공한 데이터 확인
______세션 상호작용
______잠재적으로 위험한 API
_________파일 접근
_________데이터베이스 접근
_________동적 코드 실행
_________운영체제 명령어 실행
_________URL 리다이렉션
_________소켓
______PHP 환경 설정
_________Register Globals
_________안전 모드
_________Magic Quotes
_________그 외 옵션
___Perl
______사용자가 제공한 데이터 확인
______세션 상호작용
______잠재적으로 위험한 API
_________파일 접근
_________데이터베이스 접근
_________동적 코드 실행
_________운영체제 명령어 실행
_________URL 리다이렉션
_________소켓
______Perl 환경 설정
___자바스크립트
___데이터베이스 코드 컴포넌트
______SQL 인젝션
______위험한 함수 호출
___코드 브라우징에 대한 도구
___정리
___확인문제
19장 웹 애플리케이션 해커의 도구상자
___웹 브라우저
______인터넷 익스플로러
______파이어폭스
______오페라
___통합된 검사 스위트
______도구 작동법
_________인터셉팅 프록시
_________웹 애플리케이션 스파이더
_________애플리케이션 퍼저와 스캐너
_________수동적인 요청 도구
______특징 비교
_________버프 스위트
_________파로스
_________웹 스크랩
______인터셉팅 프록시의 대안
_________Tamper 데이터
_________Tamper IE
___취약점 스캐너
______스캐너에서 발견한 취약점
______스캐너의 한계
_________모든 웹 애플리케이션에는 특색이 있다
_________스캐너는 애플리케이션의 논리를 완벽히 이해할 수는 없다
_________스캐너는 즉석으로 만들어지는 것이 아니다
_________스캐너는 직관적이다
______스캐너가 직면할 기술적인 문제
_________인증과 세션 조작
_________위험한 영향
_________개별적 기능
_________자동화에 대한 도전
______현재 사용되는 웹 스캐너
______취약점 스캐너 사용
___그 외의 도구
______닉토
______히드라
______커스텀 스크립트
_________Wget
_________Curl
_________Netcat
_________Stunnel
___정리
20장 웹 애플리케이션 해커의 공격 방법론
___일반적인 가이드라인
___1. 애플리케이션 컨텐츠 맵 작성
______1.1. 화면상의 컨텐츠 검토
______1.2. 공개된 리소스 검색
______1.3. 숨은 컨텐츠 발견
______1.4. 디폴트 컨텐츠 발견
______1.5. 식별자 지정 함수 목록화
______1.6. 디버그 매개변수 검사
___2. 애플리케이션 분석
______2.1. 기능 식별
______2.2. 데이터 입력 지점 검색
______2.3. 사용된 기술 식별
______2.4. 공격 취약 영역 맵 작성
___3. 클라이언트 측 통제 검사
______3.1. 클라이언트에 의해 전달되는 데이터 검사
______3.2. 사용자 입력에 대한 클라이언트 측 통제 검사
______3.3. 씩 클라이언트 컴포넌트 검사
_________3.3.1. 자바 애플릿 검사
_________3.3.2. 액티브X 컨트롤 검사
_________3.3.3. 쇽웨이브 플래시 객체 검사
___4. 인증 메커니즘 검사
______4.1. 메커니즘 이해
______4.2. 비밀번호 강력도 검사
______4.3. 사용자 이름 목록화 검사
______4.4. 비밀번호 추측 공격 가능성 검사
______4.5. 계정 복구 기능 검사
______4.6. 자동 로그인 기능 검사
______4.7. 의인화 기능 검사
______4.8. 사용자 이름 유일성 검사
______4.9. 자동 생성되는 계정의 예측 가능성 검사
______4.10. 사용자 계정 정보가 안전하지 않게 전달되는지 검사
______4.11. 안전하지 않게 사용자 계정 정보가 배포되는지 검사
______4.12. 로직 결함 검사
_________4.12.1. 페일 오픈 상태 검사
_________4.12.2. 다단계 메커니즘 검사
______4.13. 다른 사용자의 권한을 얻기 위한 공격
___5. 세션 관리 메커니즘 검사
______5.1. 메커니즘 이해
______5.2. 생성되는 토큰의 의미 검사
______5.3. 토큰의 예측 가능성 검사
______5.4. 안전하지 않은 토큰 전송 검사
______5.5. 로그 내에 세션 토큰 노출 검사
______5.6. 세션에 토큰 매핑 검사
______5.7. 세션 종료 검사
______5.8. 세션 고정 검사
______5.9. XSRF 검사
______5.10. 쿠키 영역 검사
___6. 접근 통제 검사
______6.1. 접근 통제 요구 이해
______6.2. 여러 계정으로 검사
______6.3. 제한된 접근으로 검사
______6.4. 안전하지 않은 접근 통제 방법 검사
___7. 입력 기반 취약점 검사
______7.1. 모든 요청 매개변수 퍼징
______7.2. SQL 인젝션 검사
______7.3. XSS와 기타 응답 인젝션 검사
_________7.3.1. 반사된 요청 매개변수 식별
_________7.3.2. 반사된 크로스사이트 스크립팅 검사
_________7.3.3. HTTP 헤더 인젝션 검사
_________7.3.4. 임의의 리다이렉션 검사
_________7.3.5. 저장된 공격 검사
______7.4. 운영체제 명령어 인젝션 검사
______7.5. 경로 탐색 검사
______7.6. 스크립트 인젝션 검사
______7.7. 파일 포함 검사
___8. 특정 기능에 대한 입력 값 취약점 검사
______8.1. SMTP 인젝션 검사
______8.2. 네이티브 소프트웨어 취약점 검사
_________8.2.1. 버퍼 오버플로우 검사
_________8.2.2. 정수 취약점 검사
_________8.2.3. 포맷 스트링 취약점 검사
______8.3. SOAP 인젝션 검사
______8.4. LDAP 인젝션 검사
______8.5. XPath 인젝션 검사
___9. 로직 결함 검사
______9.1. 핵심 공격 취약 영역 식별
______9.2. 다단계 처리 검사
______9.3. 불완전한 입력 값 처리 검사
______9.4. 신뢰 경계 구간 검사
______9.5. 처리 로직 검사
___10. 공유된 호스팅 환경 취약점 검사
______10.1. 공유된 환경에서 애플리케이션 분리 검사
______10.2 ASP 호스팅된 애플리케이션 사이의 분리 검사
___11. 웹서버 취약점 검사
______11.1. 디폴트 자격 증명 검사
______11.2. 디폴트 컨텐츠 검사
______11.3. 위험한 HTTP 메소드 검사
______11.4. 프록시 기능 검사
______11.5. 가상 호스팅의 잘못된 설정 검사
______11.6. 웹서버 소프트웨어 버그 검사
___12. 그밖의 다양한 검사
______12.1. DOM 기반 공격 검사
______12.2. 프레임 인젝션 검사
______12.3. 로컬 프라이버시 취약점 검사
______12.4. 정보 노출 추적
______12.5. 약한 SSL 암호 검사