Steady Seller

해킹 맛보기 [화이트햇 해커를 꿈꾸는 이들을 위한 해킹 입문서]

  • 지은이박찬암, 신동휘, 박종섭, 김우현, 박상호, 이종호, 이정훈
  • 감수자이희조
  • ISBN : 9788960776425
  • 35,000원
  • 2015년 01월 22일 펴냄
  • 페이퍼백 | 524쪽 | 188*235mm
  • 시리즈 : 해킹과 보안

책 소개

요약

해커 양성이 전 세계적인 이슈로 떠오르면서 해커에게 요구되는 정보와 기술의 양도 급격히 증가하고 있다. 세계적인 해킹대회인 데프콘에서 수상한 경력을 비롯해 여러 국내외 해킹대회에서 다수 우승하며 활약 중인 화이트햇 해커들이 집필한 이 책은 '해킹'과 '해커'를 둘러싼 다양한 지적 호기심을 충족시켜줄 것이다. 특히 해커를 꿈꾸는 이들이 꼭 알아야 할 필수 지식과 핵심 기술을 전달하는 데 초점을 맞췄다. 이 책은 해킹의 개요를 시작으로 웹 해킹, 리버스 엔지니어링, 시스템 해킹, 버그 헌팅, 디지털 포렌식, 취약점/해킹 마켓 등의 주제를 8개 장에 걸쳐 차례로 다룰 뿐 아니라, 건전한 보안의식 함양 등 화이트햇 해커의 기본을 전달하는 데에도 노력을 기울였다. 블랙햇 해커의 해킹 공격에 맞서고자 하는 미래의 화이트햇 해커들에게 이 책은 풍부한 설명과 예제가 담긴 유용한 입문서다.

감수의 글

이 책은 세계 최고의 해킹팀이 전하는 해킹 입문서다. 이 책의 저자진은 세계 최고의 해킹대회 우승팀이며, 구글과 한글과컴퓨터 사에 취약점 정보를 신고해 각 사로부터 감사의 부상을 받기도 했던 자타가 공인하는 세계 최고의 화이트햇 해커팀이다. 저자진은 독자들이 이 책을 통해 쉽게 해킹의 원리를 이해할 수 있도록 자신들이 겪은 시행착오를 비롯한 다양한 지혜와 경험을 담았다. 따라서 이 책은 독자들이 내용을 읽고 이해하며 혹은 직접 따라해보기도 하면서 시스템 전문가의 길로 들어설 수 있도록 유도하는 길라잡이라 할 수 있겠다.

특히 해킹 원리와 취약점 찾기, 익스플로잇 개발, 리버싱과 같이 해커에게 꼭 필요한 기술뿐 아니라 해킹 관련 축제나 취약점 신고 포상제 등과 같이 해커의 생활을 들여다볼 수 있는 내용까지 담고 있다. 1장 ‘맛보기’에서는 해커의 유형, 법과 윤리, 해킹 학습 노하우부터 해커들의 축제인 해킹대회에 이르기까지 전반적인 내용을 소개하고 있으며, 2장 ‘웹 해킹’에서는 인터넷을 대표하는 웹 서비스와 관련된 해킹 기술을 전달하기 위해 구글 검색을 이용한 해킹부터 파일 업로드, 크로스 사이트 스크립팅, 데이터베이스 해킹 기술 등을 안내한다. 3장 ‘리버스 엔지니어링’을 통해서는 바이너리 프로그램을 분석하는 리버싱 기법을 예제와 함께 설명하며 4장 ‘시스템 해킹’에서는 컴퓨터 프로그램 실행 시에 하드웨어와 소프트웨어의 동작 원리를 풀어냈다. 5장 ‘버그 헌팅’에서는 소스 코드 감사, 바이너리 감사, 퍼징 등 알려지지 않은 제로데이 취약점을 찾는 기술을 소개한다. 6장 ‘디지털 포렌식’은 해킹 사건의 단서를 찾아내는 기법에 대한 정보를 제공한다. 그리고 7장 ‘취약점 마켓’과 8장 ‘해킹 마켓’ 단원에서는 취약점 신고와 보상, 그리고 블랙마켓의 현황 등을 파악할 수 있도록 구성했다.

해커의 유형에는 사람들에게 피해를 주는 블랙햇 해커(Black Hat Hacker)와 세상을 이롭게 하는 화이트햇 해커(White Hat Hacker)가 있다. 화이트햇 해커로서 기술적인 전문가에 머물지 않고 선의의 피해자를 줄이며 더 나아가 세상에 도움이 되는 기술을 창조한다면 그보다 큰 업적은 없을 것이다. 전화 신호를 조작해 무료 통화를 가능케 한 블루박스를 만들었던 스티브 잡스는 아이폰으로 스마트 세상을 열었고, 악성코드를 리버싱하던 안철수 박사는 악성코드로부터 시스템을 지킬 수 있는 백신 프로그램을 만들어 사람들이 더 안심하고 IT를 활용하는 데 도움을 줬다. 이 책이 해커의 세계에 입문하고자 하는 독자들로 하여금 스티브 잡스나 안철수 박사와 같이 해킹 기술의 전문성을 생산적인 일로 승화시켜 세상을 더 이롭게 하는 화이트햇 해커로서의 꿈을 키워나가는 데 기여할 수 있길 기대한다.

더불어, 이 책은 회사의 보안 책임자인 CISO, 보안정책을 입안하는 정부 관료 등 여러 조직에서 관련 정책을 만들고 실행하는 책임자들이 해킹의 원리와 최근 기술 동향을 접하고 이해하는 과정에서 매우 가치 있게 활용될 것이다. 사이버 공격에 대한 피해는 시간의 함수이기 때문에 해킹 원리에 대한 책임자들의 수준 높은 이해는 빠르고 정확한 의사결정을 내리고 피해를 최소화하는 데 큰 도움이 될 것으로 확신한다.

- 이희조 / 고려대학교 컴퓨터학과 교수

추천의 글

‘그 집을 모래 위에 지은 어리석은 사람 같으리니 비가 내리고 창수가 나고 바람이 불어 그 집에 부딪치매 무너져 그 무너짐이 심하니라.’ 성경에 나오는 한 대목이다. 우리 인류는 정보화 시대에 들어선 이후 더 빠른 속도로 ICT 분야의 발전을 이뤄내고 있다. 스마트폰, 무인자동차, 사물인터넷 등으로 인해 미래 세상에서나 가능하리라 상상하던 것들이 현실에서 속속 이뤄지고 있다.

이러한 놀라운 ICT 기술이 우리에게 경제적인 부와 편리함을 가져다주고 있지만, 한편으론 ‘모래 위에 지은 집’이 되지 않을까라는 불안한 생각이 들기도 한다. 사이버 안전 분야에서 오래 몸담아온 내 경험에 비춰볼 때 ‘비가 내리고 창수가 나고 바람이 부는’ 해킹으로 말미암아 ‘무너짐이 심하면 어쩌나.’라는 걱정이 생겨나기 때문이다.

사이버테러가 걱정스러울 정도로 진화하고 있다. 기술적인 호기심, 개인의 금전적 이익, 기업 간의 경쟁 수단, 단체와 국가 간의 사이버전 등으로 그 목적과 형태가 다양하게 변화하면서 이제는 개인에게 손실을 입힐 뿐만 아니라 기업의 생존과 사회의 안정, 국가 안보에까지 영향을 미치고 있다.

그렇기 때문에 기업이나 국가에서 사이버테러에 대응할 수 있는 화이트햇 해커의 수요가 급증하고 있다. 하지만 ‘어떻게 화이트햇 해커를 양성할 것인가?’라는 질문에는 아직 시원하게 답을 할 수 없다. 현재 국가적 차원에서 해커 양성에 나서고는 있지만 수요에 비해 그 숫자가 턱없이 부족한 실정이기 때문이다.

나는 국가를 위해 헌신할 수 있는 화이트햇 해커를 양성하기 위해 오랫동안 다양한 노력을 기울여왔지만 적절한 방안이 없어 해킹 기술을 가르치기도 어려웠고, 또 해커 지망자가 스스로 배우게 하기도 쉽지 않았다.

이러한 고민을 하던 차에 이 책이 출간되어 무척 기쁘다. 이 책은 철이 철을 날카롭게 하듯이 화이트햇 해커의 시선에서 작성되었고 다양한 해킹의 범주를 고루 경험할 수 있도록 구성되어, 많은 해커 지망자들이 스스로 화이트햇 해커로 성장할 수 있도록 도와줄 것으로 확신한다. 뿐만 아니라 대학에서 관련 내용을 배우는 수업에 교재로 활용하기에도 적합한 책이다.

ICT 기술로 전 세계가 서로 엮이면서 빠른 속도로 발전하고 번영하는 반면에, 사이버테러로 몸살을 앓고 있는 것이 지구촌의 현주소다. 따라서 우리가 지금 누리는 번영이 모래 위에 지은 집이 되지 않도록, 진화하는 사이버테러에 맞서야 할 것이다. 이 책을 읽는 독자들이 창의적이고 도전적인 자세로 기업과 국가 차원을 넘어 세계 인류의 번영을 위해 노력하는 화이트햇 해커로서 원대한 꿈을 꼭 이루기 바란다.

- 옥도경 / 전 국군사이버사령관

이 책에서 다루는 내용

■ 해커의 의미, 해커 윤리, 해킹 학습 노하우, 합법적 해킹 실습 방법, 해커들의 축제
■ 구글 해킹, 파일 업로드, XSS, SQL 삽입 공격 및 대응 방법
■ 리버스 엔지니어링, 디버깅, 어셈블리, 코드 패치, 메모리 패치, 디컴파일
■ 명령어 삽입 공격, 레이스 컨디션 공격, 메모리 오염 공격, 버퍼 오버플로우
■ 데이터 삭제, 데이터 복구, 메모리 포렌식, 안티 포렌식
■ 취약점 마켓, 버그 바운티, 블랙마켓, 악성코드, 공격 툴

이 책의 대상 독자

■ 해킹과 보안 분야에 입문하려는 독자
■ 해킹과 보안 분야를 공부하고 있는 독자
■ 해킹과 보안 분야를 기술적 관점에서 이해하고 싶은 독자

이 책의 구성

책의 각 장은 별개의 주제로 이뤄져 있지만 각 장의 절에서 ‘개요’, ‘사례’, ‘실전’, ‘음미하기’, ‘마치며’를 공통으로 포함하도록 짜임새를 두고 구성했다. 우선 ‘개요’는 말 그대로 각 장을 배우기 전에 읽어야 할 도입 부분에 해당하고 ‘사례’는 각 장을 본격적으로 설명하기에 앞서 해당 주제가 실제로 적용되었던 사례들을 알아보는 부분이다. 이후 본격적인 설명이 이어진 뒤 ‘실전’을 통해 앞서 배운 내용을 문제풀이 형태로 직접 실습해볼 것이다. 각 장의 주제마다 제공되는 ‘음미하기’에서는 이 책에서 해당 내용에 대해 맛보기를 한 이후에 독자들이 좀 더 심도 있게 학습할 수 있도록 방향성을 제시한다. 마지막으로 ‘마치며’에서는 각 장을 마무리하는 내용을 정리해서 언급 할 것이다. 책 전반의 주제에 대한 기반 내용을 다루는 1장 ‘맛보기’와 그 설명 자체로써 ‘사례’, ‘실전’을 대체하는 5장 ‘버그 헌팅’, 7장 ‘취약점 마켓’, 8장 ‘해킹 마켓’ 등은 예외적으로 절 구성에서 일부 공통 요소를 적용하지 않았다. 각 장에서 다루는 내용은 다음과 같다.

1장, ‘맛보기’에서는 ‘해커’에 대한 소개를 시작으로 해킹 입문 전에 가장 중요하게 학습해야 할 윤리의식을 짚고 넘어간다. 이후 이 책을 구성하는 각 장의 주제들이 실제 어떤 상황에서 필요한지 해커의 공격 시나리오를 통해 하나씩 대입해보며 책의 주제 별 필요성을 되새겨본다. 또한 학습에 좀 더 실질적인 도움이 될 수 있도록 해킹 공부 노하우와 합법적인 해킹 실습 방법을 소개한다. 마지막으로 해킹 분야에 대한 흥미를 고취시키기 위해 해커들의 축제에는 어떤 것들이 있는지 간단히 알아본다.

2장, ‘웹 해킹’에서는 다양한 웹 해킹 공격 기법과 방어 기법들을 다룬다. 구글 해킹, 파일 업로드, 크로스 사이트 스크립팅, 데이터베이스 해킹에 관해 입문자도 쉽게 익힐 수 있도록 기본 지식부터 예제를 통해 차례로 설명한다. 또한 각 공격 기법에 따른 효과적인 방어 기법을 제시하면서 웹 개발자라면 기본적으로 익혀야 하는 지식을 담았다.

3장, ‘리버스 엔지니어링’에서는 프로그램 분석의 기본이 되는 리버스 엔지니어링에 대해 알아본다. 이 장을 통해 자신이 작성한 프로그램 분석을 시작으로, 어떤 언어라도 분석할 수 있는 기초를 마련할 수 있다. 3장에서 예제로 활용한 프로그램 파일은 에이콘출판사 도서 정보 페이지(http://www.acornpub.co.kr/book/hacking-guide)에서 다운로드 할 수 있다.

4장, ‘시스템 해킹’에서는 명령어 삽입 공격, 레이스 컨디션 공격, 메모리 오염 공격 등의 시스템 해킹 공격이 이용하는 각 취약점들의 발생 원리를 설명하고 이를 어떻게 공격할 수 있는지 알아본다.

5장, ‘버그 헌팅’에서는 실제 웹, 안드로이드, 윈도우 소프트웨어 등에서 발생한 취약점들을 설명하며, 어떻게 취약점을 발견했고 어떻게 이들 취약점을 익스플로잇 할 수 있는지 살펴볼 것이다.

6장, ‘디지털 포렌식’에서는 디지털 포렌식의 개요와 사례 소개를 시작으로, 해킹 대회에 주로 출제되는 유형인 파일 삭제 복구, 메모리 포렌식, 안티 포렌식에 대해 다룬다. 이 장은 입문자에게 알맞은 난이도의 실습 가능한 내용 위주로 구성되었을 뿐 아니라, 현재 진행되고 있는 디지털 포렌식 챌린지에 대한 소개와 문제 풀이, 기술적 발전을 위한 조언 등을 모두 담아내 챌린지를 준비하는 사람들이 실전감각을 익힐 수 있게 돕는다.

7장, ‘취약점 마켓’에서는 발견한 취약점을 거래하는 방법에 대해 다룬다. 이를 위해 취약점에 대한 보상 프로그램인 버그 바운티 프로그램을 운영하는 기업과 단체를 기술하고, 이들이 어떻게 프로그램을 운영하는지와 어떻게 프로그램에 참여할 수 있는지에 대해 알아본다.

8장, ‘해킹 마켓’에서는 블랙마켓에서 거래되는 다양한 상품과 서비스에 대해 알아본다. 이와 같은 것들을 구매하기 위해 마켓에 접근하고 상품을 찾고 거래하기 위해 대금을 결제해 상품을 받는 단계까지 일련의 과정을 살펴본다.

저자/역자 소개

저자 서문

인간의 모든 일상에 정보기술이 접목되면서 이제는 공기와 물처럼 굳이 부가적인 언급 없이도 정보기술이라는 것은 삶의 기본적이고 필수적인 요소로 치부되고 있다. 그와 더불어 정보기술에 대한 위협이 우리의 안전 및 사생활의 문제와 직결되는 상황에서 그 문제점을 찾아내는 해킹과 이를 방어하는 보안에 대한 중요성은 이제 우리 사회의 가장 큰 화두로 자리하고 있는 상황이다.

내가 이 분야의 공부를 처음 시작할 때에는 이와 같은 중요성을 근거로 하는 대의적인 명분은 전혀 생각하지 않았다. 그저 해킹 그 자체에 대한 순수한 열정과 호기심이 전부였기에 그런 거창한 생각 없이 즐겁게 공부만 하면 되는 상황이었다. 하지만 그 시작점에서 한 가지 큰 어려움에 봉착했는데 그것은 바로 ‘해킹 분야 입문 시 무엇부터 어떻게 공부해야 하나?’라는 고민이었다. 다른 분야의 이야기는 접어두고라도 최소한 해킹이라는 분야의 경우 그 특성상 범위가 방대하고 익혀야 할 기술도 상당한 깊이를 요구한다. 여기에 새로운 기술이 하루가 멀다 하고 갱신되는 것은 두말할 것 없다. 역사 또한 길지 않기에 정형화된 커리큘럼이 있는 것도 아니라 배움의 쉽고 어려움을 떠나 당장 어떻게 시작해야 하는지부터 막막한 것이 현실이다. 꽤 오랜 시간이 지난 지금도 이메일을 비롯한 나의 각종 연락 수단으로 해킹을 공부하려면 무엇부터 시작해야 하는지, 어떻게 공부해야 하는지 등의 질문이 끊임없이 오는것을 보면 아직도 이 문제에 대한 명확한 해답은 쉽게 찾기 어려운 듯하다.

이 책은 이러한 난제를 해결하는 데 조금이나마 도움을 주고자 하는 마음에서 처음 시작되었다. 책에서는 해킹 공부를 할 때에 갖추고 있으면 좋을 기본 소양과 함께 대표적인 기술적 주제들을 각 장별로 분류해 기초 지식과 그 활용을 다루고 있다. 이렇게 해킹 맛보기를 하고 나면 기술 분야에 대한 기본적인 통찰력을 형성할 수 있고 이를 통해 자신이 좀 더 공부하고 싶은 분야는 무엇인지 그리고 앞으로 어떻게 공부하면 될지를 스스로 판단할 수 있을 것이라 기대한다. 힘껏 달리기를 하기 전에 필수적인 일종의 걸음마를 떼는 과정이라고도 볼 수 있겠다. 이 외에도 해킹과 관련된 기술적 원리를 좀 더 상세히 알 필요가 있는 관계자 및 종사자들에게도 기술의 이해와 통찰력을 키워준다는 점에서 그 역할이 상통할 것이다.

마지막으로 이 책은 바이블이 되기보다는 책을 읽은 이후에 독자 스스로가 자신만의 바이블을 구성하고 배울 수 있도록 한 단계 올라서게 해주는 발판이 되었으면 하는 바람이다.

-대표 저자 박찬암

저자 소개

박찬암

코드게이트 2009 국제해킹방어대회에서 우승했고 HITB 2009 CTF 1위, DEFCON 21 CTF 3위에 입상했다. 소프트포럼 팀장, 라온시큐어 보안기술연구팀 팀장을 거쳐 현재 IT 벤처기업 스틸리언(Stealien) 대표, 국군사이버사령부 자문위원, 하나아이앤에스 수석 보안자문위원으로 활동하고 있다.

신동휘

DEFCON 21 CTF 3위에 입상했으며, 한국인터넷진흥원(KISA), 삼성SDS, 라온시큐어 보안기술연구팀 선임연구원을 거쳐 현재 IT 벤처기업 스틸리언 이사, 성신여자대학교 융합보안학과 겸임교수, 차세대 보안리더 양성프로그램 멘토로 활동하고 있다.

박종섭

코드게이트 2013 국제해킹방어대회 우승, KISA 해킹방어대회 2012-2013 우승, 국방과학연구소 신규 취약점 공모전 우수상, DEFCON 21 CTF 3위의 수상 경력이 있다. 라온시큐어 보안기술연구팀 주임연구원을 거쳐 현재 IT 벤처기업 스틸리언 이사로 활동하고 있다.

김우현

코드게이트 2009 국제해킹방어대회 우승을 비롯해 ACM-ICPC 2009 인도 지역예선 우승, ACM-ICPC 2010 World Finalist, DEFCON 21 CTF 3위를 차지했다. 라온시큐어 보안기술연구팀 주임연구원을 거쳐 현재 싱가폴 소재 알고리즘 트레이딩 회사 Presto Labs에서 Algorithmic Trader로 활동하고 있다.

박상호

금융정보보호공모전 2013 논문 부문 최우수상을 받았고 DEFCON 21 CTF 3위에 입상했다. 라온시큐어 보안기술연구팀 주임연구원을 거쳐 현재 디지털 포렌식 전문회사 플레인비트 선임연구원, 포렌식 리서치그룹 For-MD 운영진으로 활동하고 있다.

이종호

코드게이트 2013 국제해킹방어대회 우승, KISA 해킹방어대회 2012-2013 우승, DEFCON 21 CTF 3위의 수상 경력이 있다. 현재 라온시큐어 보안기술연구팀 연구원, 미래부 사이버보안전문단 단원으로 활동하고 있다.

이정훈

코드게이트 2013 국제해킹방어대회 우승, Pwn2Own Mobile Contest 우승, DEFCON 21 CTF 3위를 차지했다. 현재 라온시큐어 보안기술연구팀 연구원, 미래부 사이버보안전문단 단원으로 활동하고 있다.

감수자 소개

이희조

포스텍 컴퓨터공학과에서 학사, 석사, 박사 과정을 마치고 미국 퍼듀대학교에서 박사 후 연구원으로 지냈다. 이후 안랩 최고기술책임자(CTO)와 미국 카네기멜론대학교 방문교수로 활동했으며 현재는 고려대학교 컴퓨터학과 교수를 비롯해 필리핀, 우즈베키스탄, 베트남, 미얀마, 코스타리카에서 국가 Cyber Security 정책 자문위원, 한국인터넷진흥원(KISA) 자문위원, 대검찰청 디지털포렌식 자문위원, 「Journal of Communications and Networks」 및 「Int’l Journal of Network Management」에서 편집위원을 역임하고 있다.

목차

목차
  • 1장 맛보기
  • 1.1 개요
  • 1.2 해커의 정확한 의미
  • 1.3 해킹 입문 시 가장 중요한 것
  • 1.4 해커의 공격 시나리오
  • 1.5 해킹 학습 노하우
  • 1.5.1 효과적인 해킹 학습 방법론
  • 1.5.2 교류를 통한 배움
  • 1.6 해킹 실습의 정석
  • 1.6.1 워게임
  • 1.6.2 해킹대회
  • 1.6.3 가상 환경
  • 1.6.4 허가된 시스템
  • 1.7 해커들의 축제
  • 1.7.1 컨퍼런스
  • 1.7.2 이벤트
  • 1.8 마치며

  • 2장 웹 해킹
  • 2.1 개요
  • 2.2 사례
  • 2.3 환경 구축
  • 2.3.1 윈도우 환경에서의 APM 구축
  • 2.3.2 툴 설치
  • 2.4 구글 해킹
  • 2.4.1 검색을 이용한 공격
  • 2.4.2 구글 해킹 예제
  • 2.4.3 구글 해킹 도구
  • 2.4.4 방어 기법
  • 2.5 파일 업로드
  • 2.5.1 웹 쉘 제작
  • 2.5.2 파일 업로드 취약점 공격
  • 2.5.3 파일 업로드 우회 기법
  • 2.5.4 파일 업로드 방어 기법
  • 2.6 크로스 사이트 스크립팅
  • 2.6.1 크로스 사이트 스크립팅
  • 2.6.2 쿠키 공격
  • 2.6.3 크로스 사이트 스크립팅으로 가능한 것들
  • 2.6.4 사이트 간 요청 위조 공격
  • 2.6.5 방어 기법
  • 2.7 데이터베이스 해킹
  • 2.7.1 공격에 필요한 구문
  • 2.7.2 공격
  • 2.7.3 방어 기법
  • 2.8 웹 해킹 음미하기
  • 2.9 마치며

  • 3장 리버스 엔지니어링
  • 3.1 개요
  • 3.2 사례
  • 3.2.1 컴퓨터 원리와 구조 이해
  • 3.2.2 프로그램 유지보수
  • 3.2.3 개발에 활용
  • 3.2.4 보안점검 및 취약점
  • 3.2.5 악성코드 분석
  • 3.3 환경 구축
  • 3.3.1 Visual Studio Express
  • 3.3.2 올리디버거
  • 3.3.3 계산기
  • 3.4 기초 지식
  • 3.4.1 중앙연산처리장치
  • 3.4.2 레지스터
  • 3.4.3 메모리 구조
  • 3.4.4 어셈블리어 vs. C 언어
  • 3.4.5 컴파일, 디컴파일
  • 3.4.6 바이트 오더
  • 3.4.7 디버깅
  • 3.5 한 줄 리버싱
  • 3.5.1 지역 변수
  • 3.5.2 전역 변수
  • 3.5.3 구조체
  • 3.5.4 if 리버싱
  • 3.5.5 switch 리버싱
  • 3.5.6 for 리버싱
  • 3.5.7 while 리버싱
  • 3.6 함수 리버싱
  • 3.6.1 콜링 컨벤션
  • 3.6.2 함수 호출 리턴값 확인
  • 3.6.3 함수 프롤로그, 에필로그
  • 3.6.4 지역 변수, 전역 변수, 포인터
  • 3.7 패치
  • 3.7.1 원하는 코드 위치 찾기
  • 3.7.2 메모리 패치
  • 3.7.3 코드 패치
  • 3.7.4 파일 저장
  • 3.8 실전
  • 3.8.1 비밀번호
  • 3.8.2 시리얼
  • 3.8.3 네트워크 통신
  • 3.9 리버스 엔지니어링 음미하기
  • 3.10 마치며

  • 4장 시스템 해킹
  • 4.1 개요
  • 4.2 사례
  • 4.3 시스템 해킹 기법의 목표
  • 4.4 환경 구축
  • 4.4.1 파이썬
  • 4.5 명령어 삽입 공격
  • 4.5.1. 개요
  • 4.5.2 명령어 처리기
  • 4.6.3 명령어 삽입 공격
  • 4.5.4 명령어 삽입 취약점이 발생하는 패턴
  • 4.5.5 명령어 삽입 공격에 사용되는 명령어 처리기 연산자
  • 4.6 레이스 컨디션
  • 4.6.1 개요
  • 4.6.2 레이스 컨디션 취약점
  • 4.7 메모리 오염 공격
  • 4.7.1 메모리 오염 공격
  • 4.7.2 버퍼 오버플로우 공격
  • 4.7.3. 형식 문자열
  • 4.7.4 정수 오버플로우/언더플로우 공격
  • 4.8 실전
  • 4.8.1 크래시 발생시키기
  • 4.8.2 EIP 덮어쓰기
  • 4.9 시스템 해킹 음미하기
  • 4.10 마치며

  • 5장 버그 헌팅
  • 5.1 개요
  • 5.2 취약점을 찾는 방법
  • 5.2.1 소스 코드 감사
  • 5.2.2 바이너리 감사
  • 5.2.3 퍼징
  • 5.3 취약점의 종류
  • 5.3.1 메모리 오염
  • 5.3.2 설계
  • 5.4 웹에서의 버그 헌팅
  • 5.4.1 제로보드 XE 원격 코드 실행 1
  • 5.4.2 제로보드 XE 원격 코드 실행 2
  • 5.5 안드로이드에서 버그 헌팅
  • 5.5.1 애플리케이션 권한 상승 취약점
  • 5.6 윈도우 소프트웨어에서 버그 헌팅
  • 5.6.1 곰플레이어 원격 코드 실행 취약점
  • 5.6.2 한글 원격 코드 실행 취약점
  • 5.7 버그 헌팅 음미하기
  • 5.8 마치며

  • 6장 디지털 포렌식
  • 6.1 개요
  • 6.2 사례
  • 6.3 환경 구축
  • 6.4 파일 삭제 복구
  • 6.4.1 실습 파일 생성 및 기본 구조 확인
  • 6.4.2 파일 삭제
  • 6.4.3 파일 카빙
  • 6.5 메모리 포렌식
  • 6.5.1 메모리 포렌식 기초 지식
  • 6.5.2 메모리 덤프
  • 6.5.3 메모리 분석
  • 6.6 안티 포렌식
  • 6.6.1 안티 포렌식 기본 개념
  • 6.6.2 스테가노그래피
  • 6.6.3 데이터 완전 삭제
  • 6.7 실전
  • 6.7.1 디지털 포렌식 챌린지
  • 6.7.2 국제 해킹대회 포렌식 문제
  • 6.8 디지털 포렌식 음미하기
  • 6.9 마치며

  • 7장 취약점 마켓
  • 7.1 개요
  • 7.2 사례
  • 7.3 환경 구축
  • 7.4 취약점 시장
  • 7.4.1 ZDI
  • 7.4.2 iDefense
  • 7.5 취약점 보상 프로그램
  • 7.5.1 구글
  • 7.5.2 페이스북
  • 7.5.3 트위터
  • 7.5.4 삼성전자
  • 7.5.5 마이크로소프트
  • 7.5.6 국가기관
  • 7.6 마치며

  • 8장 해킹 마켓
  • 8.1 개요
  • 8.2 블랙마켓
  • 8.2.1 구조
  • 8.2.2 가입
  • 8.2.3 다양한 공격 툴
  • 8.2.4 튜토리얼
  • 8.2.5 마켓
  • 8.2.6 거래 상품
  • 8.3 마켓 거래
  • 8.4 마치며

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

2015-01-22 인쇄 발행본 수정 사항

p7 - 10행

키우게 해주길 기대한다.

키워나가는 데 기여할 수 있길 기대한다.

p19 - 11행

자체로서

자체로써

p64 - 맨 하단 내용 추가

그리 어렵지 않게 설치할 수 있다.

그리 어렵지 않게 설치할 수 있다. 설치에 어려움이 있다면 http://www.apmsetup.com/ 을 이용하여 APM을 한 번에 설치할 수 있다. 해당 프로그램의 HTTP 루트 폴더는 C:\APMSETUP\htdocs\ 에 존재한다.

p69 - 5행

그림 2-5와 같은 5.2 버전이 나온다

그림 2-6과 같은 5.2 버전이 나온다

p77 - 11행

이 프로그램은 자바 기반으로 제작되어 있어 JRE(Java runtime environment)라는 자바 실행도구가 필요하다.

이 프로그램은 http://www.parosproxy.org/에서 다운로드 할 수 있으며, 자바 기반으로 제작되어 있어 JRE(Java runtime environment)라는 자바 실행도구가 필요하다.

p131 - 맨 하단 내용 추가

8. 크로스 사이트 요청 변조

9. 알려진 취약점이 있는 컴포넌트 사용

10. 검증되지 않은 리다이렉트 및 포워드

(출처 : https://www.owasp.org/)

일반적으로 웹 해킹을 할 때는 요청값과 응답값을 유심히 살펴본 후 서버 사이드 코드를 추측해 공격해야 하기 때문에, 다양한 지식이 있을수록 많은 추측을 할 수 있다. 여기서 언급한 10대 위험을 잘 숙지하고 ASP, JSP, MS-SQL, 장고(Django) 등 다양한 플랫폼을 익힌다면 좀 더 넓은 분야의 웹 해킹 기술들을 습득할 수 있을 것이다.

p136 - 18행



2015-02-10 2쇄 수정 사항

[p.15 : 아래서 14행]
4.6.3 명령어 삽입 공격
->
4.5.3 명령어 삽입 공격

[p.68 : 8~12행 삭제]
Shortopentag = On
// PHP 선언을 “<?”로도 허용
magicquotesgpc = On
// GET, POST, COOKIE에서의 널(%00), 작은따옴표('), 큰따옴표(") 앞에 역슬래시() 처리(SQL 삽입 방지 문자열 처리)

[p.148 : 아래서 2행]
2진수-F5 키, 8진수-F6 키, 10진수-F7 키, 16진수-F8 키다.
->
2진수-F8 키, 8진수-F7 키, 10진수-F6 키, 16진수-F5 키다.

[p.152: 7행]
32비트(0 ~ 232-1)
->
32비트(0 ~ 2³²-1)

[p.165 : 1행]
0x01313C47 주소에서
->
0x01313C2E 주소에서

[p.166 : 4행]
지역 변수인 [EBP-D0]
->
지역 변수인 [EBP-8]

[p.217 : 8, 10, 11행]
[EBP-9]
->
[EBP-8]

[p.241 : 5행]
4.6.3 명령어 삽입 공격
->
4.5.3 명령어 삽입 공격