728x90
반응형
URL과 URI

-목차-
1. URL과 URI 정의
2. URL과 URI 차이점
3. URL과 URI 취약점
1. URL과 URI 정의
URL (유니폼 리소스 로케이터)
URL은 인터넷 상의 리소스를 나타내는 문자열입니다. 일반적으로 인터넷 상의 웹페이지나 파일 등에 접근하기 위한 주소로 사용됩니다. URL은 다음과 같은 구성요소로 이루어져 있습니다.
- 프로토콜(Protocol): 인터넷 상에서 리소스에 접근하기 위해 사용되는 프로토콜을 명시합니다. 예를 들어, HTTP, HTTPS, FTP 등이 있습니다.
- 호스트명(Host Name): 리소스가 위치한 서버의 도메인 이름 또는 IP 주소를 명시합니다.
- 포트(Port): 서버에서 제공되는 서비스에 접근하기 위한 포트 번호를 명시합니다. 대부분의 프로토콜은 기본 포트 번호를 사용합니다. HTTP의 기본 포트 번호는 80이며, HTTPS의 기본 포트 번호는 443입니다.
- 경로(Path): 서버에서 제공되는 리소스의 경로를 명시합니다. 예를 들어, "/index.html"과 같은 형태로 표현됩니다.
- 쿼리(Query): 웹페이지나 애플리케이션에서 처리하기 위해 서버로 전달되는 파라미터를 명시합니다. 예를 들어, 검색어나 페이지 번호 등이 포함될 수 있습니다.
- 프래그먼트(Fragment): 문서 내에서 특정 부분을 가리키는데 사용됩니다. 예를 들어, 웹페이지 내에서의 특정 섹션을 가리키는 경우에 사용됩니다.
형식
protocol://hostname[:port]/path/[filename]
URI(유니폼 리소스 식별자)
URI는 인터넷 상의 모든 리소스를 식별하기 위한 식별자입니다. URL은 URI의 일종으로, URI의 하위 개념이라고 볼 수 있습니다. URI는 다음과 같은 구성요소로 이루어져 있습니다.
- 스킴(Scheme): 리소스에 접근하기 위해 사용되는 프로토콜을 명시합니다.
- 경로(Path): 스킴과 호스트명 사이의 경로를 명시합니다.
- 쿼리(Query): 스킴과 경로 사이에 위치하는 파라미터를 명시합니다.
- 프래그먼트(Fragment): 문서 내에서 특정 부분을 가리키는데 사용됩니다.
- URN: 자원의 이름을 기반으로 식별하는 URI의 하위 개념이며, URL과 달리 위치 정보를 제공하지 않습니다.
형식
scheme:[//authority]path[?query][#fragment]
2. URL과 URI 차이점
- 정의: URL은 인터넷 상에서 특정 자원의 위치를 나타내는 문자열이며, URI는 인터넷 상의 어떤 자원을 나타내기 위한 식별자입니다.
- 범위: URL은 URI의 하위 개념이며, URI는 URL과 URN을 모두 포함합니다.
- 구성: URL은 프로토콜, 호스트명, 포트 번호, 경로, 쿼리 등의 요소로 이루어져 있습니다. URI는 URL을 포함한 모든 자원 식별자를 포함합니다.
- 용도: URL은 웹 브라우저에서 주소창에 입력하여 해당 자원을 찾아가는 데 사용되며, URI는 인터넷 상의 어떤 자원을 식별하고 접근하는 데 필요한 주소를 나타냅니다.
3. URL과 URI 취약점
- 크로스 사이트 스크립팅(XSS) 공격: 공격자는 악성 스크립트를 URL 매개변수에 삽입하여, 해당 스크립트가 실행되게 할 수 있습니다. 이를 통해 공격자는 사용자의 세션을 탈취하거나, 악성 코드를 실행시키거나, 사용자 데이터를 탈취할 수 있습니다.
- 인증정보 노출: URL에서 사용자 이름, 암호 등 인증 정보가 노출될 수 있습니다. 이러한 정보는 공격자에게 노출될 경우, 해당 계정에 대한 악용이 가능합니다.
- 디렉터리 탐색: URL의 경로 정보가 공격자에게 노출될 경우, 공격자는 서버 파일 시스템의 구조를 파악하여, 중요한 파일에 대한 악용을 시도할 수 있습니다.
- SQL Injection: URL에서 SQL 쿼리문을 전달하는 경우, 사용자 입력값이 제대로 검증되지 않을 경우 SQL Injection 공격이 발생할 수 있습니다.
- CSRF(Cross-Site Request Forgery) 공격: 공격자가 희생자를 속여, 공격자의 의도에 따라 서버에 요청을 보내는 것입니다. 이를 통해 공격자는 희생자의 계정에 대한 권한을 얻거나, 서버에 대한 악성 요청을 보낼 수 있습니다.
- 파일 다운로드 및 업로드: URL을 통해 파일 다운로드나 업로드가 이루어질 경우, 보안 문제가 발생할 수 있습니다. 다운로드 시 바이러스에 감염되거나, 업로드 시 악성 파일을 업로드할 수 있습니다.
- 디렉터리 순회: URL 경로를 조작하여, 서버의 파일 시스템에서 원치 않는 파일에 액세스하는 것입니다. 이를 통해 공격자는 민감한 정보를 탈취할 수 있습니다.
- 불필요한 HTTP 요청: URL을 최소한으로 유지하지 않을 경우, 서버에 불필요한 요청이 발생하여 서버 부하를 유발할 수 있습니다.
문의는 댓글 남겨주세용^^
728x90
반응형
'네트워크' 카테고리의 다른 글
TAP, IPSEC, VPN, LB, NAT, Subnet (3) | 2023.03.08 |
---|---|
XFF, OWASP TOP 10, DNS/CDN (0) | 2023.03.08 |
TCP/IP와 취약점 (0) | 2023.02.20 |
HTTP(Hyper Text Transfer Protocol) 개념과 취약점 (1) | 2023.02.10 |