모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
수강정보
(8개의 수강평)
137명의 수강생
5개월 할부시
월 33,000원165,000원
지식공유자 : 크리핵티브
115회 수업 · 총 23시간 51분 수업
기간 : 평생 무제한 시청
수료증 : 발급 강의
수강 난이도 : 초급

이 강의는

모의해킹 실무자가 알려주는, 웹 해킹의 꽃 SQL Injection! 공격과 방어를 동시에 배워보세요.

이런 걸 배워요

  • 취약점에 대한 기본 개념 다지기
  • 취약점이 발생되는 이유와 상세 원리 이해하기
  • 실무에서 발생되는 다양한 공격 포인트 파악하기
  • 실무에서 사용되는 공격 제대로 익히기
  • 취약한 기능에 직접 대응 방안을 적용하며, 시큐어 코딩 익히기

📖 모의해킹 실무자가 알려주는, SQL Injection 공격 시리즈!

  • PART(1) : 기초 / 실무 공격 / 시큐어 코딩현재 강좌
    SQL Injection 공격에서 가장 중요한 내용을 다루는 교육으로 기초에서부터 실무에서 사용되는 공격 기법들과 다양한 대응 방안과 시큐어 코딩을 배울 수 있습니다. 이후 진행될 교육의 기본이 되는 필수 교육입니다.

  • PART(2) : 응용 / 심화 / 고급
    PART(1)에서 다루지 않은 응용 공격 기법과 고급 공격 기법들에 대한 교육입니다.

  • PART(3) : 자동화 도구 제작
    배웠던 공격 기법들을 자동화 도구에 그대로 적용을 하여 Python 기반의 자동화 도구를 제작하는 교육입니다.

📖 왜 SQL Injection을 배워야 할까?

웹 해킹계의 인싸! 많은 사람들이 알고 있다는 것은 그만큼 해당 공격이 가지고 있는 영향력이 크다는 것이겠죠?

오늘날의 웹 어플리케이션들은 대부분 사용자 입력 값을 통해 동적으로 페이지를 구성하는 기능들이 많이 있습니다. 이런 환경 속에서, 공격자 관점에서는 공격 대상이 많아짐에 따라 효과적인 분석 방법 그리고 각 상황에 따른 공격 기법 등의 공격 기술을 필요로 합니다. 반대로, 방어자 관점에서는 효과적인 방어를 위해 인라인 구간에 보안 솔루션을 설치하거나, 시큐어 코딩을 하게 됩니다. 공격을 알아야 방어를 할 줄 알겠죠?

📖 실무에서 바로 적용 가능한 공격 기술!

효과적인 취약점 분석을 위해 다양한 공격 포인트에 대해 어떤 방법론으로 분석을 해야 되며, 어떤 환경에서 어떤 공격을 해야 될지 기준이 명확해지고 이에 따른 공격 기법들을 배우게 됩니다. 이러한 실무에서 사용하고 있는 각 공격 기법에 대해 자세히 다룹니다.

📖 각 DBMS에 대한 PHP 기반의 실습 게시판 제공!

PHP-MYSQL, PHP-MSSQL, PHP-ORACLE 기반의 실습 게시판을 제공해드리며, 이를 통해 다양한 DBMS별 SQL Injection 실습이 가능합니다. 

📖 따라하면서 배우는 SQL Injection 공격 기법과 시큐어 코딩!

SQL Injection 공격 기법을 완성하기 위한 각 기술 요소들을 이론에서 끝나는 것이 아니라
DBMS별로 직접 실습을 진행합니다.

각 기능별 대응 방안을 자세히 살펴보고, 취약한 게시판에 대해 직접 시큐어 코딩 적용하는 실습을 진행합니다.

📖 교육을 통한 기대 효과

  • 이제 막 SQL Injection을 공부하시는 분이라면, 본 교육이 가이드라인이 되어서 올바른 방향을 잡아드리겠습니다.
  • 기존에 SQL Injection을 알고 계셨던 분이라면, 흩어져 있던 지식이 하나로 연결되는 마법을 경험할 수 있고 방향을 잡지 못하고 계신다면 올바른 방향을 잡아드리겠습니다.

🛠 여기서 다루는 프로그램

  • Burp Suite
  • APMSetup / MSSQL / ORACLE
  • QueryBox

※ Burp Suite 사용 방법은 본 교육에서는 다루지 않으며, "웹 해킹과 모의해킹 현업에 대한 이야기" 교육에서 기본적인 사용 방법을 참고하시면 됩니다.

🙋🏻‍♂️ 질문 QnA

Q. 교육을 듣고 싶은데 그전에 알아야 될 것들이 있나요?
A. 기본적으로 웹 기초, SQL 기본 문법은 필수적으로 알고 들으셔야 하며, 추가적으로 웹 해킹 교육을 듣는 것도 추천합니다.

Q. 교육을 전부 듣게 되면 실무 진단을 할 수 있나요?
A. 당연합니다! 그러나, 교육만 듣는다고 되는 것이 아닙니다. 공격이란 행위를 하기 위해 본인 스스로 공부를 하고 실습을 충분히 해야 만족할 만한 결과를 얻을 수 있습니다. 어떤 무엇가를 얻으려면 이에 수반되는 노력이 필요하기 마련입니다.

Q. 다른 모의해킹 교육들의 SQL Injection 교육에 비해 교육 시간이 많이 긴데 왜 그런가요?
A. 본 교육은 SQL Injection만을 다루는 전문적인 교육이다 보니 길 수밖에 없는 것 같습니다. 물론 접근 방법도 완전히 다를 것입니다. 기존의 공격 접근 방법은 공격별로 각자 따로 따로 되어 있다면, 본 교육은 그것을 하나의 맥으로 이어서 붙였다고 보시면 됩니다. 그리고 내가 왜 이런 공격을 해야 되는지 이유를 찾을 수 있습니다.

Q. 비 전공자, 학생들도 들을 수 있나요?
A. 당연합니다! 다만 아래의 필수 시청 강좌를 수강하시고 이해가 완료되시면, 본 교육을 수강하시면 됩니다.

💡 필수 시청 강좌

반드시 알고 넘어가야 할 웹 기술 기초편 
웹 기술 기초를 익힐 수 있는 강좌
성공적인 SQL 인젝션 공격을 위한, SQL 기본 문법
SQL 인젝션 공격을 익히기 위한 기초 단계
웹 해킹과 모의해킹 현업에 대한 이야기 
웹 해킹을 배우기 위한 입문 단계

※ 본 교육 PPT에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. 

도움 되는 분들

  • SQL Injection을 제대로 배워보고 싶은 분들
  • 웹 사이트 진단 시 SQL Injection 취약점을 찾기 어려운 실무자 분들
  • 취약점 진단만 수행하시는 실무자 분들
  • SQL Injection 자동화 도구 없으면 공격을 하지 못하는 분들
  • SQL Injection에 대한 지식을 한 곳에 모으고 싶으신 분들
  • 어떤 환경에서 무슨 공격을 해야 되는지 정확하게 알고 싶은 경우
  • 공격 프로세스를 정확하게 알고 싶은 분들
  • 올바른 대응 방안을 제시하지 못할 경우

선수 지식

  • 웹 기초
  • 버프 스위트 기본 사용법
  • 웹 해킹 기초
  • SQL 기본 문법

공개 일자

2020년 3월 17일 (마지막 업데이트 일자 : 2020년 8월 21일)

지식공유자 소개

:: 국내 정보보안 솔루션 개발 기업 재직 ::
- 앱 위변조 방지 솔루션 : 미들웨어 담당 / 해킹 대회 운영진 / 국내 유명 해킹/방어 훈련장 제작

:: 국내 정보보안 전문 업체 재직 ::
- 블랙박스 모의해킹 / 시나리오 기반 모의해킹 / 웹 취약점 진단 / 모바일 취약점 진단 / 소스코드 취약점 진단 / APT 모의 훈련 / DDoS 모의훈련 / 인프라 진단 / 스마트 가전 진단
- 국내 대기업, 중소기업 다수 진단

:: 외부 교육 및 활동 ::
- 멀티캠퍼스, 국가 보안 기술 연구소(ETRI)
- 국내 정보보안 업체 : 재직자 대상 "웹 모의해킹 심화 교육" 진행중
- 해커팩토리 문제 제작

:: 취약점 발견 ::

1) Web Application Server 취약점
- TMAX JEUS : 원격 명령어 실행 취약점(Remote Command Execution Vulnerability)
- IBM WebSphere(CVE-2020-4163) : 원격 명령어 실행 취약점(Remote Command Execution Vulnerability)

2) CMS(Contents Management System) 취약점
- 네이버 스마트에디터 : 파일 업로드 취약점
- 그누보드 : SQL Injection , 파일 업로드 취약점(그누보드4, 그누보드5), XSS ...
- 킴스큐 : 파리미터 변조 취약점 , 파일 업로드 취약점

* 이메일 : crehacktive3@naver.com
* 블로그 : http://www.crehacktive.co.kr

5.0
8개의 수강평
default_profile.png
김민철 6달 전
저는 현재 정보보안전문업체에 재직중이라 관련 교육을 듣고 싶었던 중에 교육을 신청하여 듣게 되었습니다. 결과적으로 대만족입니다.. 강의에 강사님 내공이 그대로 묻어있네요. 이쯤되니 강사님 누군지 궁금하네요..ㅋㅋㅋㅋ 강의를 계속 들으며 들을수록 그동안 겉핥기식 진단만 수행한것에 스스로 많이 부끄러웠습니다. 저는 그동안 어떤 환경에서 어떤공격을 해야하는지 잘몰랏는데 이번 교육을 통해 환경에따라 어떤 공격을 해야 한다는것을 명확히 알수있었습니다. 그리고 공격 프로세스란 것을 강사분께서 직접 만드신것 같은데 실무진단시에 정말 많은 도움이 될 것같습니다. 공격은 해야 겟는데... 파라미터앞에서 멍하니 보고 어떻게해야 될지 모를때가 많은데 이걸 참고하면 순차적으로 진단을 원할히 할 수 있을 것 같습니다. 아아 그리고 로드맵 그거 대박이네요 프린트해둠요. 이제 정주행 1번 했는데 강사님 말씀처럼 2번더 하려구요. 강사님 감사합니다.
크리핵티브

크리핵티브 6달 전
긴 수강평 너무 감사합니다! 도움되 되셨다니 정말 다행이네요 ㅎ 소중한 수강평 감사합니다. 좋은 하루 보내세요~

default_profile.png
WebWH 5달 전
원리 하나하나 설명해 주시기 때문에 빈틈없는 지식을 얻었다고 느꼈습니다. 프로세스를 머리속으로 쭉 정리해보면서 진단을 하게된가면 뭐부터 해야될지 바로바로 떠오르는게 너무 좋았습니다. 현재 화이트해커가 아니기 때문에 2번 더 듣고 실습할 환경을 장고,스프링을 활용해 만들고 있는데 개발하면서도 프로세스가 떠올라 필터링 로직을 쓰고 싶더라구요 ㅋㅋ 아무튼 큰 도움이 되어서 너무 좋습니다! 다음 강의인 Part 2,3,4 도 얼른 보고 싶네요!
크리핵티브

크리핵티브 5달 전
프로세스가 떠오른다니 뿌듯하군요 ㅎㅎ 수강평을 잘써주셔서 너무너무 감사합니다! 소중한 수강평으로 힘을 얻네요.ㅎㅎ 너무 감사하고 다음 강의들도 잘만들어서 오픈할게요. 많은 관심과 성원 부탁드립니다.^^ 즐거운 주말보내세요~

교육과정

모두 펼치기 115 강의 23시간 51분
섹션 0. 교육 프롤로그
11 강의 93 : 40
교육 소개
16 : 21
환경 구축 개요
06 : 23
APMSetup 개념 및 설치
07 : 02
php.ini 파일 내 magic_quotes_gpc 설정
07 : 30
MYSQL 초기 패스워드 변경
02 : 42
ORACLE 설치 및 PHP 연동
19 : 53
MSSQL 설치 및 PHP 연동
10 : 33
DB 클라이언트 프로그램, QueryBox 설치
06 : 30
PHP 기반 게시판 설치
10 : 03
교육 시작 전 당부의 말씀
03 : 44
[추가] MSSQL 설치 과정 혹은 PHP 연동 테스트 과정에서 문제 발생 시 해결 방법
02 : 59
섹션 1. SQL 인젝션이란 무엇인가?
5 강의 36 : 59
SQL 인젝션이란 무엇인가?
04 : 55
웹 어플리케이션과 동적 자원에 대한 이해
05 : 38
웹에 종속적인 공격인가?
05 : 09
사고 사례
13 : 45
SQL 인젝션이 쉬운 공격이라고?
07 : 32
섹션 2. SQL 인젝션에 대한 이해
15 강의 139 : 17
공격 대상
03 : 55
SQL 관점에서 본 공격 포인트
07 : 34
공격 원리
02 : 43
취약점 발생 원인
02 : 21
공격 종류
02 : 32
취약점 점검 방법론(1)
01 : 58
취약점 분석 방법론(2)
04 : 41
취약점 분석 방법론(3)
18 : 10
SQL 인젝션 구문 종류
02 : 46
취약점 분석 방법론(4)
08 : 16
[실습2-1] 취약점 분석 실습
29 : 34
검색 기능 동작 원리 분석을 통한 올바른 분석 방법
13 : 38
[실습2-2] 검색 기능에 대한 올바른 취약점 점검 방법
07 : 06
[실습2-3] 검색 기능의 컬럼 파라미터에 대한 올바른 취약점 점검 방법
17 : 51
[실습2-4] Prepared Statement 환경에서의 테이블 파라미터에 대한 올바른 취약점 점검 방법
16 : 12
섹션 3. 인증 우회 공격 기법
14 강의 124 : 30
인증 우회 공격이란 무엇인가?
03 : 08
인증 기능에 대한 이해
02 : 42
[실습3-1] PHP 기반 로그인 기능 제작
31 : 47
공격 분석
06 : 30
[실습3-2] 인증 우회 공격 실습
17 : 46
[실습3-3] 인증 우회 공격을 통한 비밀 게시글 무단 열람 실습
18 : 08
[실습3-4] 인증 우회 공격을 통한 타 사용자 게시글 무단 수정, 삭제 실습
17 : 58
[실습3-5] Lord SQL Injection 워게임 소개
03 : 58
[실습3-6] (LOS-인증우회) 1문제 풀이
04 : 11
[실습3-7] (LOS-인증우회) 2문제 풀이
05 : 06
[실습3-8] (LOS-인증우회) 3문제 풀이
04 : 45
[실습3-9] (LOS-인증우회) 5문제
02 : 39
[실습3-10] (LOS-인증우회) 6문제
02 : 19
인증 우회 공격을 배우는 이유
03 : 33
섹션 4. 데이터 조회 공격 기법에 대한 이해
10 강의 124 : 31
데이터 조회 공격이란 무엇인가?
07 : 06
데이터 조회 공격 상세 프로세스
05 : 28
환경 분석
22 : 58
[실습4-1] 환경 분석 실습
13 : 55
공격 기법의 분류와 이해
08 : 09
공격 기법 선택
07 : 33
데이터 조회 공격을 위한, 순차적 레코드 출력의 이해와 필요성
05 : 22
[실습4-2] MYSQL 순차적 레코드 출력
05 : 06
[실습4-3] MSSQL 순차적 레코드 출력
31 : 46
[실습4-4] ORACLE 순차적 레코드 출력
17 : 08
섹션 5. 데이터 지도를 만들기 위한 마스터 키, 메타 데이터
7 강의 108 : 52
데이터 조회 공격의 핵심, 메타 데이터
07 : 20
공격 관점에서의 메타 데이터 접근 방법
12 : 41
DBMS별 데이터 사전
03 : 23
[실습5-1] MYSQL 메타데이터 목록화
21 : 49
[실습5-2] MSSQL 메타데이터 목록화
45 : 58
[실습5-3] ORACLE 메타데이터 목록화
16 : 22
메타 데이터를 마치며, 당부의 말씀
01 : 19
섹션 6. 데이터 조회 공격 기법 : ERROR-BASED 공격
9 강의 169 : 46
ERROR-BASED 공격이란 무엇인가?
07 : 39
DBMS별 공격 차이점
05 : 54
공격 프로세스
02 : 33
MSSQL ERROR-BASED 공격 검증
08 : 05
[실습6-1] MSSQL ERROR-BASED 공격 실습
56 : 56
[실습6-2] MYSQL ERROR-BASED 공격 실습
32 : 26
[실습6-3]_ORACLE ERROR-BASED 공격 실습
36 : 43
[실습6-4] 효과적으로 DBMS 에러를 발견하기 위한 방법
12 : 20
데이터 조회 공격의 시작, ERROR-BASED 공격을 마치며
07 : 10
섹션 7. 데이터 조회 공격 기법 : UNION-BASED 공격
18 강의 187 : 11
UNION-BASED 공격이란 무엇인가?
03 : 34
공격 적합성 검토
10 : 19
[실습7-1] 아이디 중복 조회 기능 제작을 통한 UNION 공격 가능 여부 판단
16 : 59
UNION에 대한 이해
03 : 33
UNION과 UNION ALL 차이점
02 : 22
[실습7-2] UNION과 UNION ALL 실습
07 : 25
성공적인 공격을 위해 반드시 알아야 될, 핵심 포인트
05 : 35
공격 프로세스
01 : 16
공격 검증(1)
14 : 00
공격 검증(2)
12 : 45
[실습7-3] ORDER BY , UNION 구문 실행 확인 실습
15 : 24
공격 검증(3)
06 : 44
[실습7-4] MYSQL UNION-BASED 공격 실습, 목록과 상세보기의 기능적 차이점
23 : 50
[실습7-5] MSSQL UNION-BASED 공격 실습
16 : 22
[실습7-6] ORACLE UNION-BASED 공격 실습
17 : 16
[실습7-7] UNION-BASED 공격이 가능한 아이디 중복 조회 기능에 대한 공격 실습
12 : 19
[실습7-8] MYSQL UNION-BASED 공격을 통한 로컬 내 파일 무단 열람
09 : 08
다양한 응용 공격이 가능한 UNION-BASED 공격
08 : 20
섹션 8. 데이터 조회 공격 기법 : BLIND-BASED 공격
12 강의 241 : 28
BLIND-BASED 공격이란 무엇인가?
06 : 38
공격 프로세스
06 : 58
BLIND-BASED 공격 기법 종류
07 : 37
데이터 추론 기법 종류
01 : 50
데이터 추론 기법(1)
16 : 10
[실습8-1] 데이터 추론 기법(1) 실습(feat. Burp Suite Intruder 활용)
42 : 46
데이터 추론 기법(2)
20 : 00
[실습8-2] 데이터 추론 기법(2) 실습
20 : 09
데이터 추론 기법(3)
41 : 42
[실습8-3] 데이터 추론 기법(3-1) 실습(feat. Burp Suite Intruder 활용)
59 : 01
[실습8-4] 데이터 추론 기법(3-2) 실습
15 : 57
BLIND-BASED 공격은 결국 자동화 도구 사용
02 : 40
섹션 9. 대응 방안
11 강의 169 : 31
취약점 발생 원인과 대응
02 : 58
대응 방안 개요
06 : 37
상세 대응 방안(1)
16 : 40
[실습9-1] Prepared Statement 취약한 소스코드와 안전한 소스코드
14 : 35
상세 대응 방안(2)
15 : 29
[실습9-2] 취약한 로그인 기능을 안전한 로그인 기능으로 구현하기(시큐어 코딩 적용)
09 : 37
상세 대응 방안(3)
02 : 24
[실습9-3] PHP-MYSQL 실습 게시판 시큐어 코딩 적용
60 : 31
[실습9-4] PHP-MSSQL 실습 게시판 시큐어 코딩 적용
22 : 25
[실습9-5] PHP-ORACLE 실습 게시판 시큐어 코딩 적용
11 : 45
공격을 알면 방어가 보인다!
06 : 30
섹션 10. 교육 에필로그
3 강의 35 : 36
SQL 인젝션 공격을 위한 로드맵
17 : 51
현혹되지 마라! 자동화 도구라는 함정!
13 : 08
교육을 마치며
04 : 37
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스