이미 소장하고 있다면 판매해 보세요.
|
0x100장 들어가며
0x200장 프로그래밍 0x210 프로그래밍이란? 0x220 가상 코드 0x230 제어 구조 0x231 If-Then-Else 0x232 While/Until 루프 0x233 For 루프 0x240 기본적인 프로그래밍 개념 0x241 변수 0x242 산술 연산자 0x243 비교 연산자 0x244 함수 0x250 직접 해보기 0x251 큰 그림 이해하기 0x252 x86 프로세서 0x253 어셈블리 언어 0x260 기본으로 돌아가기 0x261 문자열 0x262 Signed, Unsigned, Long, Short 0x263 포인터 0x264 형식 문자열 0x265 형 변환 0x266 커맨드라인 인자 0x267 변수 범위 0x270 메모리 세그먼트 0x271 C에서의 메모리 세그먼트 0x272 힙 사용하기 0x273 오류 확인된 malloc() 0x280 기초 쌓기 0x281 파일 접근 0x282 파일 권한 0x283 사용자 ID 0x284 구조체 0x285 함수 포인터 0x286 가상 난수 0x287 확률 게임 0x300장 공격 0x310 일반 공격 기법 0x320 버퍼 오버플로우 0x321 스택 기반 버퍼 오버플로우의 취약점 0x330 BASH 셸로 해킹하기 0x331 환경 변수 이용하기 0x340 기타 세그먼트 오버플로우 0x341 힙 기반 오버플로우 0x342 함수 포인터 오버플로우 0x350 포맷 스트링 0x351 포맷 인자 0x352 포맷 스트링 취약점 0x353 임의의 메모리 주소에서 읽기 0x354 임의의 메모리 주소에 쓰기 0x355 인자에 직접 접근 0x356 쇼트 쓰기 기법 0x357 소멸자를 이용한 우회법 0x358 노트 검색 프로그램의 취약점 0x359 전역 오프셋 테이블 덮어쓰기 0x400장 네트워킹 0x410 OSI 모델 0x420 소켓 0x421 소켓 함수 0x422 소켓 주소 0x423 네트워크 바이트 순서 0x424 인터넷 주소 변환 0x425 간단한 서버 예제 0x426 웹 클라이언트 예제 0x427 작은 웹서버 0x430 하위 계층 해부 0x431 데이터링크 계층 0x432 네트워크 계층 0x433 전송 계층 0x440 네트워크 스니핑 0x441 로 소켓 스니퍼 0x442 libpcap 스니퍼 0x443 계층 해독 0x444 능동 스니핑 0x450 서비스 거부 0x451 SYN 홍수 0x452 죽음의 핑 0x453 티어드랍 0x454 핑 홍수 0x455 증폭 공격 0x456 분산 DoS 홍수 0x460 TCP/IP 하이재킹 0x461 RST 하이재킹 0x462 지속되는 하이재킹 0x470 포트 스캐닝 0x471 스텔스 SYN 스캔 0x472 FIN, X-mas, Null 스캔 0x473 가짜 스캔 패킷 이용 0x474 유휴 스캐닝 0x475 사전 방어(가리개) 0x480 네트워크 건너 해킹하기 0x481 GDB로 분석하기 0x482 tinyweb 공격해보기 0x483 포트 바인딩 셸코드 0x500장 셸코드 0x510 어셈블리와 C 0x511 어셈블리 리눅스 시스템 콜 0x520 셸코드로 가는 길 0x521 스택을 사용한 어셈블리 명령 0x522 GDB로 조사 0x523 널 바이트 제거 0x530 셸을 생성하는 셸코드 0x531 권한 문제 0x532 셸코드 좀 더 작게 만들기 0x540 포트 바인딩 셸코드 0x541 표준 파일 서술자 복제 0x542 분기 제어 구조 0x550 커넥트 백 셸코드 0x600장 대응책 0x610 탐지 대응책 0x620 시스템 데몬 0x621 시그널 0x622 tinyweb 데몬 0x630 주요 툴 0x631 tinywebd 공격 툴 0x640 로그 파일 0x641 군중 속에 숨기 0x650 보지 못하고 지나치기 0x651 한 번에 하나씩 0x652 원래대로 만들기 0x653 자식 프로세스 호출 0x660 고급 위장법 0x661 로그의 IP 주소 스푸핑 0x662 로그없는 공격 0x670 전체 기반 시스템 0x671 소켓 재사용 0x680 페이로드 은닉 0x681 문자열 인코딩 0x682 썰매 숨기는 방법 0x690 버퍼 제한 0x691 다형의 출력 가능한 ASCII 셸코드 0x6a0 대응책 보강 0x6b0 실행 불가능 스택 0x6b1 ret2libc 0x6b2 system()으로 리턴 0x6c0 임의 스택 공간 0x6c1 BASH와 GDB로 조사 0x6c2 linux-gate 이용기 0x6c3 응용 지식 0x6c4 첫 번째 시도 0x6c5 도박하기 0x700장 암호학 0x710 정보 이론 0x711 절대적 보안 0x712 원타임 패드 0x713 양자 키 분배 0x714 계산 불능 보안 0x720 알고리즘 실행 시간 0x721 점근 표기법 0x730 대칭 암호 방식 0x731 러브 그로버의 양자 검색 알고리즘 0x740 비대칭 암호화 0x741 RSA 0x742 피터 쇼어의 양자 인수분해 알고리즘 0x750 혼성 암호 0x751 맨 인 더 미들 공격 0x752 SSH 프로토콜 호스트 핑거프린트 버전 이용 0x753 퍼지 핑거프린트 0x760 비밀번호 크래킹 0x761 사전 공격 0x762 전수 조사 공격 0x763 해시 룩업 테이블 0x764 비밀번호 확률 행렬 0x770 무선 802.11b 암호화 0x771 WEP 0x772 RC4 스트림 암호 방식 0x780 WEP 공격 0x781 오프라인 전수 조사 공격 0x782 키스트림 재사용 0x783 IV 기반 복호화 사전 테이블 0x784 IP 리다이렉션 0x785 Fluhrer, Mantin, Shamir 공격 0x800장 결론 0x810 참고 문헌 0x820 소스코드 |
John Erickson
강유 의 다른 상품
|
이 책의 목표는 많은 사람과 해킹의 미학을 공유하는 것이다. 해킹을 하려면 넓고 깊은 지식이 필요하므로 해킹 기법을 이해하는 것은 꽤나 어렵다. 대부분 해킹 서적을 읽어봐도 해킹에 필요한 선행 지식을 다루지 않기 때문에 난해하고 복잡할 뿐이다. 그래서 『(개정판) 해킹: 공격의 예술』에서는 프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있게 했다. 그리고 부록으로 우분투Ubuntu 리눅스 기반의 부팅 가능한 라이브CD를 수록했다. 컴퓨터에 설치된 기존 운영체제의 수정 없이 어떤 x86 프로세서에서든 사용할 수 있다. 이 CD는 책에 있는 모든 소스코드를 포함하고, 책의 예제와 실험을 그대로 따라할 수 있는 개발 환경을 제공한다. --- '저자서문' 중에서
요즘 해킹이라는 용어를 여기저기에서 자주 들을 수 있다. 트위터 계정 해킹, 스마트폰 해킹, 인터넷 뱅킹 해킹, 온라인 게임 머니 해킹 등 해킹이라는 용어는 다양한 곳에서 쓰인다. 컴퓨터 전문가가 아니더라도 해킹이라는 얘기를 한 번 이상은 들어봤을 것이다. 그래서 많은 사람이 해킹에 관심을 갖고 있다. 그런데 방금 이야기한 예에서도 그렇듯 사회적으로 해킹이라는 용어는 나쁜 의미를 내포한다. 즉, 범죄, 악용이라는 단어가 연상된다. 하지만 이 책의 본문에서도 설명하듯이 해킹이 반드시 나쁜 '범법 행위'인 것만은 아니다. 현재는 사회적으로 나쁜 의미로 통용되지만, '해킹'은 컴퓨터에 푹 빠진 이들이 컴퓨터에 대해 좀 더 알고자 하는 순수한 열정에서부터 탄생했다. 존 에릭슨은 이 책에서 다양한 해킹 기법과 기술을 예술적으로 설명하면서 내면으로는 그들의 순수한 열정을 독자들에게 알리고자 하는 것이다. 사회 곳곳에서 해킹과 보안에 대한 이야기가 나오면서 많은 사람이 해킹과 보안에 관심을 갖고, 해킹을 배우고자 한다. 그들이 단순한 따라 하기만으로 이용할 수 있는 '해킹 겉핥기' 툴들은 많지만 정작 해킹의 본질을 알려주는 툴이나 자료는 부족하다. 이 책은 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 많은 부분을 다룬다. 심도 있게 다루지만 충분한 예제로 비교적 쉽게 이해할 수 있다. 그리고 해킹 환경을 손쉽게 구축해주는 라이브CD가 부록으로 들어있어서 더욱 쉽게 해킹 공부를 할 수 있다. 이 책은 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 독자에게 해킹의 진수를 가르쳐줄 것이다. 1판에 비해 많은 부분이 추가됐는데, 프로그래밍 기초가 없는 독자를 위해 C 프로그래밍의 기본 내용을 설명하는 0x200 프로그래밍 부분이 보강됐다. 그리고 셸코드 작성과 사용법 부분을 보강해 따로 0x500 셸코드 장으로 분리했다. 또한 0x600 대응책에서는 해킹에 대한 방어 방법까지 다룬다. 1판에 비해 두 배 가까이 분량이 늘었으므로 해킹에 대해 더 많은 정보를 얻을 수 있을 것이다. --- '옮긴이의 말' 중에서 |
|
★ 이 책에서 다루는 내용 ★
■ C, 어셈블리, 셸 스크립트를 이용한 프로그래밍 ■ 버퍼 오버플로우와 포맷 스트링을 이용해 임의 코드 실행을 위한 시스템 메모리 공격 ■ 실제 동작의 이해를 위해 디버거를 이용한 프로세서 레지스터와 시스템 메모리 조사 ■ 실행 불가능 스택과 침입 탐지 시스템 같은 똑똑한 보안 대응책 ■ 포트 바인딩이나 커넥트백 셸 코드를 이용한 원격 서버 접근, 서버 로그를 바꿔 흔적 숨기기 ■ 네트워크 트래픽 리다이렉트, 열린 포트 숨기기, TCP 연결 하이재킹 ■ FMS 공격으로 암호화된 무선 트래픽 크랙, 비밀번호 확률 매트릭스를 이용한 빠른 전수 조사 공격 ★ 저자 서문 ★ 이 책의 목표는 많은 사람과 해킹의 미학을 공유하는 것이다. 해킹을 하려면 넓고 깊은 지식이 필요하므로 해킹 기법을 이해하는 것은 꽤나 어렵다. 대부분 해킹 서적을 읽어봐도 해킹에 필요한 선행 지식을 다루지 않기 때문에 난해하고 복잡할 뿐이다. 그래서 『(개정판) 해킹: 공격의 예술』에서는 프로그래밍에서부터 공격 가능한 기계어 코드까지 해킹에 필요한 모든 것을 다룸으로써 해킹의 세계를 좀 더 쉽게 이해할 수 있게 했다. 그리고 이 책에서는 우분투(Ubuntu) 리눅스 기반의 부팅 가능한 라이브 ISO 파일을 제공한다. VirtualBox와 같은 가상머신에 이 ISO 이미지 파일을 돌리면, 어떠한 컴퓨터에서도 사용할 수 있다. 이 라이브 ISO 파일에는 책에 있는 모든 소스코드가 들어있어 책의 예제와 실험을 그대로 따라할 수 있는 개발 환경을 제공한다. 라이브 ISO 이미지 파일에 대한 상세한 내용은 뒤에서 확인할 수 있다. ★ 옮긴이의 말 ★ 요즘 해킹이라는 용어를 여기저기에서 자주 들을 수 있다. 트위터 계정 해킹, 스마트폰 해킹, 인터넷 뱅킹 해킹, 온라인 게임 머니 해킹 등 해킹이라는 용어는 다양한 곳에서 쓰인다. 컴퓨터 전문가가 아니더라도 해킹이라는 얘기를 한 번 이상은 들어봤을 것이다. 그래서 많은 사람이 해킹에 관심을 갖고 있다. 그런데 방금 이야기한 예에서도 그렇듯 사회적으로 해킹이라는 용어는 나쁜 의미를 내포한다. 즉, 범죄, 악용이라는 단어가 연상된다. 하지만 이 책의 본문에서도 설명하듯이 해킹이 반드시 나쁜 ‘범법 행위’인 것만은 아니다. 현재는 사회적으로 나쁜 의미로 통용되지만, ‘해킹’은 컴퓨터에 푹 빠진 이들이 컴퓨터에 대해 좀 더 알고자 하는 순수한 열정에서부터 탄생했다. 존 에릭슨은 이 책에서 다양한 해킹 기법과 기술을 예술적으로 설명하면서 내면으로는 그들의 순수한 열정을 독자들에게 알리고자 하는 것이다. 사회 곳곳에서 해킹과 보안에 대한 이야기가 나오면서 많은 사람이 해킹과 보안에 관심을 갖고, 해킹을 배우고자 한다. 그들이 단순한 따라 하기만으로 이용할 수 있는 ‘해킹 겉핥기’ 툴들은 많지만 정작 해킹의 본질을 알려주는 툴이나 자료는 부족하다. 이 책은 기본적인 C 프로그래밍에서부터 기본 공격 기법, 네트워크 공격, 셸코드 공격과 그에 대한 대응책까지 해킹의 많은 부분을 다룬다. 심도 있게 다루지만 충분한 예제로 비교적 쉽게 이해할 수 있다. 그리고 해킹 환경을 손쉽게 구축해주는 라이브 ISO 이미지를 제공하고 있어 더욱 쉽게 해킹 공부를 할 수 있다. 이 책은 해킹을 공부하고 싶지만 어디서부터 시작해야 할지 모르는 독자에게 해킹의 진수를 가르쳐줄 것이다. 1판에 비해 많은 부분이 추가됐는데, 프로그래밍 기초가 없는 독자를 위해 C 프로그래밍의 기본 내용을 설명하는 0x200 프로그래밍 부분이 보강됐다. 그리고 셸코드 작성과 사용법 부분을 보강해 따로 0x500 셸코드 장으로 분리했다. 또한 0x600 대응책에서는 해킹에 대한 방어 방법까지 다룬다. 1판에 비해 두 배 가까이 분량이 늘었으므로 해킹에 대해 더 많은 정보를 얻을 수 있을 것이다. |