본문 바로가기

개념정리/Web Hacking

(5)
[Web Hacking] Cross Site Scripting : XSS 1. XSS XSS는 공격자가 웹 리소스에 악성 스크립트를 삽입해 이용자의 웹 브라우저에서 해당 스크립트를 실행할 수 있다. 공격자는 해당 취약점을 통해 특정 계정의 세션 정보를 탈취하고 해당 계정으로 임의의 기능을 수행할 수 있다. XSS 공격은 OWASP Top 10에 포함되어 있다. XSS는 SOP 보안 정책이 등장하면서 서로 다른 오리진에서는 정보를 읽는 행위가 이전에 비해 힘들어졌다. 그러나 이를 우회하는 다양한 기술이 나오면서 XSS 공격이 지속되고 있다. 2. XSS 종류 1) Stored XSS XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS 서버의 데이터베이스 또는 파일 등의 형태로 저장된 악성 스크립트를 조회할 때 발생 사이트 게시판이나 댓글, 닉네임 등..
4. Cookie & Session 저번 시간에는 Web Browser에 대하여 공부하였다. 이번 시간은 쿠키와 세션에 대하여 공부할 것이다. 1. HTTP 프로토콜 특징 클라이언트의 IP 주소와 User-Agent는 매번 변경될 수 있는 고유하지 않는 정보이다. 또한 HTTP 프로토콜의 1) Connectionless와 2) Stateless 특징 때문에 웹 서버는 클라이언트를 기억할 수 없다. 1) Connectionless 하나의 요청에 하나의 응답을 한 후 연결을 종료하는 것 연결은 이어지지 않고 요청이 있을 때 마다 항상 새로운 연결을 맺는다. 2) Stateless 통신이 끝난 후 상태 정보를 저장하지 않는 것 이전 연결에서 사용한 데이터를 다른 연결에서 요구할 수 없다. 2. 쿠키 위 2가지 HTTP 프로토콜의 특징때문에 HT..
3. Web Browser 저번 시간에는 Web에 대하여 공부하였다. 이번 시간은 Web Browser에 대하여 공부할 것이다. 1. Web Brower 웹 브라우저는 뛰어난 이용자 경험(UX)을 제공하는 소프트웨어 중 하나이다. 웹 브라우저는 서버와 HTTP 통신을 대신해주고 수신한 리소스를 시각화해준다. 이용자는 브라우저를 이용하여 쉽게 정보를 검색하고 동영상을 보고 파일을 내려받지만 내부에서 어떠한 연산이 일어나는지 알지 못한다. - 웹 브라우저 기본적인 동작 1) 웹 브라우저의 주소창에 입력된 주소를 해석(URL 해석) 2) URL에 해당하는 주소 탐색(DNS 요청) 3) HTTP를 통해 해당 주소에 요청 4) 해당 주소의 HTTP 응답 수신 5) 리소스 다운로드 및 웹 렌더링 2. URL URL(Uniform Resour..
2. Web 저번 시간에 HTTP/HTTPS에 대하여 공부하였다. 이번 시간은 Web에 대하여 공부할 것이다. 1. Web 웹은 인터넷을 기반으로 구현된 서비스 중 HTTP를 이용하여 정보를 공유하는 서비스이다. 여기서 정보를 제공하는 주체를 웹 서버(Web Server), 정보를 받는 이용자를 웹 클라이언트(Web Client)라고 한다. - 프론트 엔드(Front-end) : 이용자의 요청을 받는 부분, 이용자에게 직접 보여지는 부분으로 웹 리소스로 구성 - 백 엔드(Back-end) : 요청을 처리하는 부분 2. Web Resource 웹 리소스는 웹에 갖춰진 정보 자산을 의미한다. 웹 브라우저의 주소창에 "https://example.com/index.html" 주소를 입력하면 example.com에 존재하는..
1. HTTP/HTTPS 드림핵을 참고하여 웹 해킹에 대하여 공부할 것이다. 이번 시간은 웹 해킹에 필요한 배경 지식인 HTTP/HTTPS에 대하여 공부할 것이다. 1. 인코딩 컴퓨터의 모든 데이터는 0과 1로 구성된다. 0과 1로 우리의 문자를 표현하는 것은 약속 덕분이다. 이러한 약속들을 인코딩 표준이라고 부른다. 대표적으로 1) 아스키(ASCii)와 2) 유니코드(Unicode)가 있다. 1) 아스키 코드(ASCii) 아스키 코드는 7비트 데이터에 대한 인코딩 표준이다. 33개의 출력 불가능한 제어 문자들과 공백을 비롯한 95개의 출력 가능 문자들로 총 128개로 이루어져 있다. 2) 유니코드(Unicode) 전 세계의 모든 문자를 컴퓨터에서 일관되게 표현하고 다룰 수 있도록 설계된 산업 표준이다. 유니코드에서 한 문자는 ..