728x90

3

[웹] 웹 기초 (2) - HTTP 메세지 구조

저번 웹 공부 글에 이어 이번에는 HTTP의 메세지 구조를 자세히 살펴보고 정리해보려 한다. 이번 학기에 수강한 '웹보안' 과목에서 과제로 제출했던 CRLF 취약점은 HTTP 응답이 줄바꿈문자를 필터링 하지 않아 발생하는 공격이기 때문에, 특히 HTTP의 요청과 응답 메세지 구조에 대해 궁금했다. 1. URL과 URI HTTP를 정리하기 전에 URL과 URI에 대해서도 간단하게 공부해보았다. CRLF 취약점의 공격구문에 들어가는 코드를 URI값으로 인코딩해야하기 때문이다. URI = Uniform Resource Identifier 식별자 URL = Uniform Resource Locator 위치 URN = Uniform Resource Name 이름 URL과 URI는 웹 브라우저 등에서 웹페이지를 보..

[웹] 웹 기초 (1) - HTTP, TCP/IP

저번 CRLF injection을 공부하면서 웹에 관한 전반적인 이해가 필요할 것 같아 HTTP와 TCP/IP에대해 간략하게 정리해보았다. 다음 글은 아마 HTTP의 요청과 응답에 대해 학습하고 정리해볼 것 같다. 1. HTTP란 네트워크를 사용해 통신하기 위해서는 서로 정해진 절차와 데이터 형식을 지켜야 한다. 이것을 지키기 위해 미리 정해둔 약속을 프로토콜이라고 한다. 웹에서 자주 사용되는 프로토콜은 HTTP이다. WWW를 구성하는 기술은 문서를 작성하는 언어인 HTML, 문서 전송 프로토콜인 HTTP, 문서의 위치를 지정하는 방법인 URL로 제안돼있다. 2. TCP/IP와 HTTP의 관계 인터넷을 포함해 일반적으로 사용되는 네트워크는 TCP/IP라는 프로토콜을 통해 통신을 한다. HTTP는 그중 하..

[웹] CRLF 취약점 (HTTP 응답 분할 공격)

1. 사전조사 클라이언트와 서버 간의 HTTP request와 response Message를 살펴보면 헤더와 바디 사이 CRFL 공백이 존재하는 것을 볼 수 있다. 이 HTTP Response CRLF 공백에 악의적인 코드나 스크립트를 삽입하여 XSS를 생성하거나 캐시를 조작하는 해킹기법이 바로 CRLF 인젝션이다. (HTTP 프로토콜의 응답 방식이나 TCP/IP 의 경우 조금 더 공부한 후에 정리하도록 하겠다.) CRLF 인젝션(CWE-93: Improper Neutralization of CRLF Sequences “CRLF Injection”)은 HTTP 응답 헤더나 메일 헤더에 있는 줄바꿈 코드 (CR+LF)를 삽입해 의도하지 않은 헤더필드를 추가하는 취약점이다. - CR(Carriage Ret..

728x90