WEB Hacking
-
<WEB Hacking> SOPWEB Hacking 2021. 12. 15. 16:55
- 브라우저는 인증 정보로 사용될 수 있는 쿠키를 브라우저 내부에 보관하고, 이용자가 웹 서비스에 접속할 때 브라우저는 해당 웹 서비스에서 사용하는 인증 정보인 쿠키를 HTTP 요청에 포함시켜 전달함 - 브라우저는 웹 리소스를 통해 간접적으로 타 사이트에 접근할 때에도 인증 정보인 쿠키를 함께 전송하는 특징을 가짐 - 위 특징을 이용하면 악의적인 페이지가 클라이언트의 권한을 이용해 대상 사이트에 HTTP 요청을 보내고, HTTP 응답 정보를 획득하는 코드를 실행할 수 있음 ■SOP(Same Origin Policy) - 브라우저의 보안 메커니즘 - Origin : 프로토콜(Protocol), 포트(Port), 호스트(Host)로 구성(이 구성요소가 모두 일치해야 Origin이 동일) - Origin이 동..
-
<WEB Hacking> SessionWEB Hacking 2021. 12. 14. 23:27
■세션 - 세션은 클라이언트가 인증 정보를 변조할 수 없게 하기 위해 사용 - 세션은 인증 정보를 서버에 저장하고 해당 데이터에 접근할 수 있는 키(유추할 수 없는 랜덤한 문자열)를 만들어 클라이언트에 전달하는 방식 - 해당 키를 Session ID라 함 - 브라우저는 해당 키를 쿠키에 저장하고 이후에 HTTP 요청을 보낼때 사용 - 서버는 요청에 포함된 키에 해당하는 데이터를 가져와 인증 상태를 확인 - 쿠키는 데이터 자체를 이용자가 저장하고, 세션은 서버가 저장함
-
<WEB Hacking> CookieWEB Hacking 2021. 12. 14. 22:44
- 웹 서버는 수많은 클라이언트와 HTTP 프로토콜을 사용해 통신 - HTTP 프로토콜로 웹 서버와 통신할 때는 웹 서버에 명령을 내리기 위해 GET, POST와 같은 메소드와 자원의 위치를 가리키는 URL 등이 포함되어 있음 - 이외에도 헤더(Header)를 통해 웹 서버에게 요청을 보내고, 웹 서버는 헤더를 통해서 웹 서버에게 요청을 보내고, 웹 서버는 헤더를 읽고 클라이언트에게 결과 값을 반환 - 헤더에는 클라이언트의 정보와 요청의 내용을 구체화하는 등의 데이터가 포함되는데, 클라이언트의 인증 정보도 포함 ■쿠키 - 클라이언트의 IP 주소와 User-Agent는 매번 변경될 수 있으며, HTTP 프로토콜의 Connectionless와 Stateless 특징 때문에 웹 서버는 클라이언트를 기억할 수 ..
-
<WEB Hacking> Browser DevToolsWEB Hacking 2021. 12. 14. 15:26
■개발자 도구 ● : 요소 검사(Inspect) 및 디바이스 툴바(Device Toolbar) ● : 기능을 선택하는 패널 - Elements : 페이지를 구성하는 HTML 검사 - Console : Javascript를 실행하고 결과를 확인할 수 있음 - Source : HTML, CSS, JS 등 페이지를 구성하는 리소스를 확인하고 디버깅할 수 있음 - Network : 서버와 오가는 데이터를 확인할 수 있음 - Performance - Memory - Application : 쿠키를 포함하여 웹 애플리케이션과 관련된 데이터를 확인할 수 있음 - Security - Lighthouse ● : 현재 페이지에서 발생한 에러 및 경고 메시지 ● : 개발자 도구 설정 ■요소 검사 - 요소 검사를 활용하면 특..
-
<WEB Hacking> Web BrowserWEB Hacking 2021. 12. 13. 22:43
도구로서의 소프트웨어는 반복적인 작업을 자동화하여 일의 능률을 높이고, 복잡한 기능을 쉽게 사용할 수 있도록 단순하고 직관적인 인터페이스를 제공 ■웹 브라우저(Web Browser) 웹은 인터넷이라는 글로벌 네트워크 위에 구현되어 있으며, 정해진 프로토콜을 기반으로 통신 - 이용자가 주소창에 사이트 주소를 입력하면 웹 브라우저는 1. 웹 브라우저의 주소창에 입력된 주소를 해석(URL 분석) 2. 사이트 주소에 해당하는 주소 탐색(DNS 요청) 3. HTTP를 통해 해당 사이트에 요청 4. 사이트의 HTTP 응답 수신 5. 리소스 다운로드 및 웹 렌더링(HTML, CSS, Javascript) ■URL URL은 Uniform Resource Locator의 약자로, 웹에 있는 리소스의 위치를 표현하는 문자..
-
<WEB Hacking> WebWEB Hacking 2021. 12. 13. 18:51
■웹(Web) HTTP(웹상에서 서로 통신을 하기 위해 정해둔 일종의 규칙)를 이용하여 정보를 공유하는 서비스 웹 서버(Web Server) : 정보를 제공하는 주체 웹 클라이언트(Web Client) : 정보를 받는 이용자 · 프론트엔드(Front-end) 이용자의 요청을 받는 부분 이용자에게 보이는 부분 웹 리소스(Web Resource)로 구성 · 백엔드(Back-end) 요청을 처리하는 부분 ■웹 리소스(Web Resource) 웹에 갖춰진 정보자산을 의미 http://A/B : A에 존재하는 B 경로의 리소스를 가져오라는 의미 모든 웹 리소스는 고유의 URI(Uniform Resource Identifier)를 가지며, 이를 이용하여 식별됨 웹의 프론트엔드를 구성하는 대표적인 웹 리소스에는 HT..
-
<WEB Hacking> HTTPSWEB Hacking 2021. 12. 13. 18:03
HTTP의 요청과 응답은 평문으로 전송 따라서, 누군가 이를 가로챈다면 중요한 정보가 유출될 수 있음 ■HTTPS(HTTP over Secure socket layer) HTTPS는 TLS(Transport Layer Security) 프로토콜을 도입하여 위와 같은 문제점 보완 TLS는 서버와 클라이언트 사이에 오가는 모든 HTTP 메시지를 암호화하여 도청과 변조로부터 보호 웹 서버의 URL이 "http://"로 시작하면 HTTP, "https://"로 시작하면 HTTPS 프로토콜을 사용한다.
-
<WEB Hacking> HTTPWEB Hacking 2021. 12. 13. 17:48
■통신 프로토콜 요청(Request) : 클라이언트 -> 서버 응답(Response) : 서버 -> 클라이언트 프로토콜(Protocol) : 규격화된 상호작용에 적용되는 약속 컴퓨터 통신 프로토콜은 각 통신 주체가 교환하는 데이터를 명확히 해석할 수 있도록 문법(syntax)을 포함 문법에 어긋난 메시지는 잘못 전송된 것으로 받아들여 무시함 ■HTTP(Hyper Text Transfer Protocol) 서버와 클라이언트의 데이터 교환을 요청과 응답 형식으로 정의한 프로토콜 기본 동작 : 클라이언트가 요청하고, 서버가 응답 웹 서버는 HTTP 서버를 HTTP 서비스 포트(TCP/80 또는 TCP/8080)에 대기시킨다. 클라이언트가 이 서비스 포트에 HTTP 요청을 하면, 서버 측은 이를 해석하여 응답을..