[dreamhack] cookie & session
2022. 1. 25. 03:03
Study/Web Hacking
Cookie HTTP에서는 Connectionless와 Stateles라는 특징 때문에 웹 서버가 클라이언트를 기억할 수 없다. 이때 웹 서버가 클라이언트를 식별할 수 있도록 만든 것이 바로 cookie이다. coockie는 웹 서버가 클라이언트한테 발급하고, 클라이언트는 cookie를 요청에 포함하여 전송한다. cookie는 key와 value로 이루어져 있다. → 쿠키는 일반적으로 클라이언트의 정보 기록과 상태 정보를 표현하는 용도로 사용하고, 클라이언트에 저장된다. HTTP 프로토콜 특징 Connectionless 하나의 요청에 하나의 응답을 한 후 연결을 종료하는 것을 의미한다. 특정 요청에 대한 연결은 이후의 요청과 이어지지 않고 새 요청이 있을 때 마다 항상 새로운 연결을 맺는다. Statel..
[dreamhack] web browser
2022. 1. 25. 02:03
Study/Web Hacking
웹 브라우저 우리가 사용하는 웹은 HTTP라는 정해진 규약 위에서 통신해야 한다. 그 외에도 웹이 정상적으로 동작하려면 신경써야 하는 많은 것들이 있다. 하지만 우리들은 이런 것들을 잘 몰라도 웹을 잘 이용하고 있다. 이처럼 웹이 동작하는 데 필요한 복잡한 과정들을 몰라도 사용할 수 있도록 사용자 경험을 높여주는 소프트웨어를 웹 브라우저라고 한다. 주소창에 dreamhack.io을 입력했을 때 브라우저에서 일어나는 일은 대략적으로 아래와 같다. 주소창에 입력된 dreamhack.io를 해석 (URL 분석) dreamhack.io에 해당하는 주소 탐색 (DNS 요청) → 뒤에 더 자세하게 나옴 HTTP를 통해 dreamhack.io에 요청 dreamhack.io의 HTTP 응답 수신 리소스 다운로드 및 웹..
[dreamhack] web
2022. 1. 25. 01:57
Study/Web Hacking
웹 리소스 웹을 구성하기 위해 필요한 데이터를 말한다. → http://dreamhack.io/index.html 위 URL은 dramhack.io 파일 시스템에서 /index.html 경로에 있는 리소스를 가져오라고 요청하는 것이다. 모든 웹 리소스는 고유의 Uniform Resource Indicator (URI)를 가지고, 이를 이용하여 리소스를 식별한다. 웹 프론트엔드에서 대표적인 웹 리소스는 다음과 같다. HTML CSS JS 그 외 기타(이미지, 폰트 등등) 웹 클라이언트와 웹 서버의 통신 (클라이언트) 브라우저가 웹 서버에 HTTP 형식으로 필요한 리소스를 요청한다. (서버) 웹 서버는 브라우저가 요청한 내용을 해석하고 그에 맞는 적절한 연산을 한다. 리소스를 요청받은 경우 해당 리소스를 찾..
[dreamhack] http/https
2022. 1. 25. 01:22
Study/Web Hacking
HTTP Hyper Text Transfer Protocol의 약자. 클라이언트와 서버의 데이터 교환을 요청(Request) 응답(Response)으로 정의한 프로토콜. HTTP는 일반적으로 TCP/80 또는 TCP/8080 포트에서 통신. 네트워크 포트와 서비스 포트 네트워크 포트(Network Port) 네트워크에서 클라이언트와 서버가 데이터를 교환하는 장소 또는 길을 추상화한 개념. 네트워크 생략하고 “포트”라고 부르기도 함. 서비스 포트(Service Port) 네트워크에서 특정 서비스가 점유하고 있는 포트를 의미. 예를 들어 HTTP의 서비스 포트는 80번 포트. 보통 전송 계층(Transport Layer)의 프로토콜을 따르며 TCP와 UDP 두 가지 방식이 존재. 서비스 포트 표기 시 포트 ..
[dreamhack] Linux Exploitation & Mitigation Part 2 / ASLR & PLT, GOT Section
2021. 2. 12. 15:32
Study/System Hacking
- ASLR Address Space Layout Randomization(ASLR)은 라이브러리, 힙, 스택 영역 등의 주소를 바이너리가 실행될 때마다 랜덤하게 바꿔 RTL과 같이 정해진 주소를 이용한 공격을 막기 위한 보호 기법이다. Ubuntu 16.04에서는 /proc/sys/kernel/randomize_va_space 파일의 값을 확인하면 서버의 ASLR 설정 여부를 알 수 있다. 설정 파일의 값으로는 0, 1, 2가 있고, 각 값은 아래와 같은 의미를 갖는다. 0 : ASLR을 적용하지 않음 1 : 스택, 힙 메모리를 랜덤화 2 : 스택, 힙, 라이브러리 메모리를 랜덤화 만약 해당 파일의 값이 2가 아니라면, 루트 권한으로 다음 명령어를 실행하여 ASLR 보호 기법을 적용할 수 있다. # c..