Learning Web/Dictionary

[IT사전] Payload란 무엇인가?

naiLED 2024. 12. 18. 17:22

Payload 

- pay : 지불하는, 이익을 주는
- load : 하중, 적재물 

운송업에서 기름값, 인건비 등등 빼고 남은 진또배기 '돈 되는 적재물'
→ 본론, 핵심, 진짜 중요한거 
핵심 데이터, 실제 수행되는 데이터

 

분야와 문맥에 따라 다르게 쓰이는 용어입니다. 

일상적인 예시로, 우리가 이메일을 보낼 때 메일의 본론을 payload라고 할 수 있습니다. 

최근에는 주로 네트워크 또는 보안 분야에서 사용되고 있습니다. 

 

1. 네트워크의 HTTP 패킷에서

패킷(Packet) 이라는 용어도 생각해보면 결국 화물(Package) + 덩어리(Bucket)의 합성어죠. 

말하자면 이 화물 덩어리를 서버와 클라이언트와 서로 주고받는 것입니다. 

이 패킷은 크게 시작 줄(Start Line), 헤더(Header)와 바디(Body)로 나뉩니다. 

 

- 시작 줄(Start Line) : 요청/응답의 목적 및 상태를 나타냄. 

- 헤더(Header) : 요청/응답의 부가 정보를 제공. 

- 바디(Body) : 실제 데이터 (있을 수도, 없을 수도 있음.) 

 

HTTP 패킷 중에서 페이로드에 해당하는 부분은 무엇일까요?

바로 바디(Body) 입니다.

그래서 Body 부분을 HTTP 패킷의 페이로드라고도 표현합니다. 

 

2. 보안 및 해킹에서

공격자가 일단 취약점을 발견하고 나면 해당 취약점에 여러 가지를 시도해 볼 수 있는 상태가 됩니다. 

이때 취약점에 주입하는 핵심 코드, 데이터 또는 명령을 페이로드라고 부릅니다. 

 

익스플로잇(Exploit)과 조금 헷갈릴 수 있습니다.

익스플로잇이 좀 더 큰 개념으로, '취약점을 공격하는 행위'를 지칭합니다.

익스플로잇이 공격을 실행할 때 사용되는 핵심, 즉 실행 코드나 데이터를 페이로드라고 합니다. 

 

예를 들어 SQL injection point를 찾아 ' OR '1'='1 라는 코드를 입력했다고 가정해 봅시다.

이 때 취약점을 이용해 데이터베이스(DB)에 명령을 전달하는 기술 전반을 한데 뭉뚱그려서 익스플로잇이라고 하고, 

이 기술을 이용해 실제로 전달하는 코드 ' OR '1'='1 자체를 바로 페이로드라고 합니다.