728x90
반응형
HTML
Hyper Text Markup Language
- 가장 단순한 형태의 웹 언어
- 웹 서버에 HTML 문서를 저장하고 있다가 클라이언트가 특정 HTML 페이지를 요청하면 해당 HTML 문서를 클라이언트로 전송
정적인 웹 페이지 - 클라이언트의 웹 브라우저를 통해 웹 서버의 무엇인가를 바꿀 수 있는 가능성이 매우 낮기 때문에 웹을 이용한 공격이 매우 어려움
SSS (Server Side Script)
ASP (Active Server Page), JSP (Java Script Pages), php 등으로 개발
- 동적인 페이지 제공
- ASP 또는 JSP의 확장자를 가진 웹 문서를 요청
- 처리 결과를 HTML 파일로 만들어 클라이언트에 전송
완벽하게 HTML로 완성된 페이지를 받음
CSS (Client Side Script)
자바스크립트 (Java Scrpt), 비주얼 베이직 스크립트 (Visual Basic Script)
- 서버가 아닌 클라이언트측의 웹 브라우저에 의해 해석되고 적용
서버는 사용자가 필요로 하는 데이터만 전송함
사용자의 브라우저의 클라이언트 코드에 의해 HTML 코드로의 변환을 통해 어떤 것이 보여질 수 있음
웹 페이지의 생성
- 서버가 .html 파일을 완성해서 제공 (정적인 웹페이지)
- SSS에 의해서 웹 문서로 만든 후 모든 결과를 전송하는 방식
- CSS에 의해서 웹페이지의 프로그램 코드 + 데이터로 브라우저에 의해 웹 페이지가 구성되는 방식
보안 측면
1. 서버가 .html 파일을 완성해서 제공
공격자가 스니핑을 하여 웹 페이지의 내용을 훔쳐보거나 바꾸는 것이 가능
2. SSS에 의해서 웹문서로 만든 후 결과를 전송
.html 파일을 완성해서 보내는 것이기 때문에, 1번의 경우와 같은 공격이 가능하다.
.html 파일이 "어떤"과정을 거쳐 이루어지는 것인지 알 지 못한다는 장점이 있다.
3. CSS에 의해서 웹문서로 만들어짐
누구나 해당 데이터가 어떤 방식으로 결과가 연계가 되어 해당 .html 파일을 만들어내는지 알 수 있음
코드 조작을 하게 된다면 웹문서의 내용이 공격자가 원하는 방식으로 만들어질 수 있음
스니핑을 통해 데이터를 조작 가능
* 스니핑이 불가능하다면 클라이언트 사이드의 프로그램 코드를 조작을 하여 공격자 코드를 삽입할 수 있음
728x90
반응형
'Web' 카테고리의 다른 글
클라이언트, 서버 간 데이터 통신 (2) | 2024.07.15 |
---|