Skip to content

Latest commit

 

History

History
 
 

Quest12

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Quest 12. 보안의 기초

Introduction

  • 이번 퀘스트에서는 가장 기초적인 웹 서비스 보안에 대해 알아보겠습니다.

Topics

  • XSS, CSRF, SQL Injection
  • HTTPS, TLS

Resources

Checklist

  • 입력 데이터의 Validation을 웹 프론트엔드에서 했더라도 서버에서 또 해야 할까요? 그 이유는 무엇일까요?
    • 서버로부터 받은 HTML 내용을 그대로 검증 없이 프론트엔드에 innerHTML 등을 통해 적용하면 어떤 문제점이 있을까요?

    innerHTML 프로퍼티의 값을 변경하면 innerHTML 프로퍼티를 호출한 노드를 삭제 후 재구성합니다. 복잡한 HTML 문서에서는 노드를 재구성하는 데 시간이 많이 걸리고 의도하지 않은 부작용이 발생할 수 있습니다.

    • XSS(Cross-site scripting)이란 어떤 공격기법일까요?
    • CSRF(Cross-site request forgery)이란 어떤 공격기법일까요?
    • SQL Injection이란 어떤 공격기법일까요?
  • 대부분의 최신 브라우저에서는 HTTP 대신 HTTPS가 권장됩니다. 이유가 무엇일까요?
    • HTTPS와 TLS는 어떤 식으로 동작하나요? HTTPS는 어떤 역사를 가지고 있나요?
    • HTTPS의 서비스 과정에서 인증서는 어떤 역할을 할까요? 인증서는 어떤 체계로 되어 있을까요?

Quest

  • 메모장의 서버와 클라이언트에 대해, 로컬에서 발행한 인증서를 통해 HTTPS 서비스를 해 보세요.

Advanced

  • TLS의 인증서에 쓰이는 암호화 알고리즘은 어떤 종류가 있을까요?
  • HTTP/3은 기존 버전과 어떻게 다를까요? HTTP의 버전 3이 나오게 된 이유는 무엇일까요?