# 재전송 공격 사용 안내

### 1. 재전송 공격이란? <a href="#id-1" id="id-1"></a>

{% embed url="<https://youtu.be/_ICFu8Rg5h0>" %}

재전송 공격은 탐지된 로그를 이용해 실제 공격을 재현하는 모의해킹 기능입니다. \
이 기능은 공격의 성공 여부를 확인하기 위해 사용됩니다. \
특히 SQL 인젝션 공격은 성공 시 매우 심각한 보안 위협이 되므로 반드시 확인해야 합니다. \
하지만 수많은 로그 중에서 모의해킹을 테스트하는 것은 어렵기 때문에 PLURA의 재전송 공격 기능이 이를 간소화하고 업무 효율성을 높여줍니다.

**재전송 공격 버튼**은 공격 재전송 조건이 성립할 때에만 표시되며, 네트워크 환경에 따라 동작이 달라질 수 있습니다. \
사용자의 브라우저가 해당 호스트(URL)에 접근할 수 있는 환경이어야 정상적으로 동작합니다.

### 2. HTTP Method 재전송 대상 <a href="#id-2" id="id-2"></a>

2-1. **GET**: 모든 로그

2-2. **POST | PUT | PATCH | DELETE**: 파라미터 이름과 Content-Type이 존재하는 로그

### 3. Content-Type 재전송 대상 <a href="#id-3" id="id-3"></a>

3-1. **application/x-www-form-urlencoded**: key/value 형식

3-2. **application/json**: JSON 형식

3-3. **application/xml**: XML 형식

* 아래 이미지는 **GET** 메서드의 **application/x-www-form-urlencoded** 형식으로 재전송 공격 조건이 성립되어, **재전송 공격 버튼**이 표시된 상황을 보여줍니다.

<figure><img src="https://qubitsec.github.io/docs/images/Additianal/hack/1.png" alt=""><figcaption></figcaption></figure>

* 재전송 공격을 실행하기 전에 **편집** 버튼을 클릭하여 프로토콜 및 포트를 변경할 수 있습니다. \
  기본 설정은 **https: 443**이며, **http**를 사용하는 경우 **http: 80**으로 수정 가능합니다. \
  수정된 값은 저장됩니다.

<figure><img src="https://qubitsec.github.io/docs/images/Additianal/hack/2.png" alt=""><figcaption></figcaption></figure>

* **curl://** 버튼을 선택하면, 재전송 공격 쿼리가 자동 복사되어 웹 전송 방식보다 더 다양한 공격 옵션을 제공합니다.
* **curl:// 공격 옵션**: 재전송 공격 + 모든 HTTP Method(GET, POST, PUT, PATCH, DELETE, HEAD, OPTION, CONNECT, TRACE)를 포함

### 4. HTTP Method 재전송 대상이 아닌 경우 (재전송 공격 버튼 미노출) <a href="#id-4" id="id-4"></a>

4-1. **POST**: 상단의 재전송 가능 조건 미충족

4-2. **PUT**: 상단의 재전송 가능 조건 미충족

4-3. **PATCH**: 상단의 재전송 가능 조건 미충족

4-4. **DELETE**: 상단의 재전송 가능 조건 미충족

4-5. HEAD

4-6. OPTION

4-7. CONNECT

4-8. TRACE

### 5. Content-Type 재전송 대상이 아닌 경우 (재전송 공격 버튼 미노출) <a href="#id-5" id="id-5"></a>

5-1. **multipart/form-data**: key/value 형식 (바이너리 포함)

5-2. **application/octet-stream**: 바이너리 파일

5-3. **text/yaml**: YAML 파일
