Extremely Long Parameter (+ header length 공격과 차이점)

HTTP 요청의 매개변수 크기가 최대 한도를 초과시키는 공격이다.

# 마찬가지로 WAF에서 확인 결과 가비지 데이터가 잔뜩 있다.

 

아래는 imperva 사이트에 있는 기법에 대한 설명이다.


매개변수는 "이름=값" 문자열 형식으로 HTTP 요청의 일부로 웹 애플리케이션에 전달됩니다. 이름 부분이나 값 부분이 지정된 임계값을 초과하는 경우 SecureSphere는 경고를 생성합니다. 기본적으로 최대값은 4096바이트입니다. 이는 HTTP 프로토콜 유효성 검사 정책에서 사용자 정의할 수 있습니다.

가능한 공격
공격자는 다음 두 가지 목적으로 매우 긴 매개 변수 이름이나 값을 사용합니다.
애플리케이션 모듈이나 웹 서버의 구문 분석 메커니즘에 대한 버퍼 오버플로 공격 입니다 .
일부 보안 메커니즘에 의한 탐지를 회피합니다. 많은 탐지 메커니즘은 전체 요청을 분석하기 전에 저장하고 저장하는 메시지 크기에 제한을 설정합니다. 결과적으로, 공격 벡터가 긴 요청의 끝에 배치되면 그 중 일부는 다양한 공격을 탐지하지 못할 수 있습니다.

공격 탐지
이 경고가 동일한 이벤트의 다른 구조 이상과 결합되면 이는 실제 공격을 나타내는 좋은 신호입니다. 또한 매개변수(이름 또는 값)의 위반 부분에 인쇄할 수 없거나 특이한 문자가 포함된 경우 공격의 일부일 가능성이 높습니다.
일반적으로 요청의 위반 부분이 (값이 아니라) 매개변수의 이름이라면 이는 확실히 공격이라고 말하는 것이 안전합니다.

 

거짓 긍정 탐지
긴 XML 문서나 HTML 코드를 저장하기 위해 HTTP 매개변수를 사용하는 애플리케이션은 이 경고에 대해 오탐지가 발생하기 쉽습니다.

 

설명에 맞게 오탐이 너무 많이 뜬다...

특정 고객사는 한 ip당 이 공격 탐지로 주에 1000건이 넘게 뜬다. (어질어질)

 

피해

서버 오버로드 : 공격자는 HTTP 요청의 매개변수를 과도하게 길게 만들어 서버 리소스를 과도하게 사용하게 하여 서버의 응답 시간을 늦추거나 서비스 거부 공격을 유발한다.

입력 유효성 검사 우회 : 공격자는 긴 매개변수 값을 사용하여 서버의 입력 유효성 검사 우회를 시도한다.

서버는 입력이 예상한 것보다 길면 일반적으로 잘라내거나 거부해야 하지만, 이를 우회하려는 시도가 있을 수 있다.

버퍼 오버플로우 : 매개변수 값이 서버 또는 애플리케이션의 버퍼를 오버플로우시키려고 하는 공격자도 있다.

공격자는 원하지 않는 동작을 유도하거나 시스템의 안정성을 침해할 수 있다.

보안 취약점 이용 : 매개변수의 길이를 조작하여 서버에서 예외를 발생시키거나 오류 메시지를 생성하도록 유도함으로써, 공격자는 시스템에서 정보를 노출시키거나 다른 보안 취약점을 이용할 수 있다.

 

글만 읽어보면 웹 요청을 이용한 공격이기 때문에 이전에 작성한 header length 공격과 비슷해보이지만 아래의 차이점이 있다.

 

차이점

타겟 및 공격 벡터

Extremely Long Parameter Attack : HTTP 요청의 매개변수(파라미터)를 과도하게 길게 만들어 공격을 시도합니다. 공격자는 특정 매개변수(쿼리 문자열, 폼 데이터 등)를 길게 만들어서 서버 또는 애플리케이션의 동작을 방해하거나 오류를 유도한다.

 

Header Length Attack : HTTP 요청 헤더의 길이를 조작하여 웹 서버 또는 웹 애플리케이션에 영향을 미치는 것을 목표로 한다. 공격자는 HTTP 요청 헤더의 길이를 조작하여 서버를 과부하로 몰아넣거나 서버의 동작을 변조하는 것을 시도한다.

공격 목표

Extremely Long Parameter Attack : 주로 서버 또는 애플리케이션의 동작을 변조하거나 오류를 유도하는 것을 목표로 한다. 입력 유효성 검사가 부족한 경우, 공격자는 긴 매개변수를 사용하여 애플리케이션의 보안을 침해하거나 원하지 않는 동작을 유도할 수 있다.


Header Length Attack : 주로 서버의 리소스를 소모하거나 서비스 거부 공격(DoS)을 유발하는 것이 목표

헤더 길이를 조작함으로써 공격자는 서버의 리소스를 과도하게 사용하도록 유도하거나 웹 서버의 동작을 방해한다.

공격 방법

Extremely Long Parameter Attack : 특정 HTTP 요청 매개변수의 값을 과도하게 길게 만들어 서버 또는 애플리케이션에 보내어, 매개변수 처리 부분을 오버플로우시키거나 오류를 유도한다.


Header Length Attack : 공격자는 HTTP 요청 헤더의 길이를 조작하여 서버에 부하를 가하는 방식으로 공격을 수행한다.


'업무' 카테고리의 다른 글

로그 파싱 쿼리 설명  (0) 2023.11.04
Abnormally Long Request  (0) 2023.10.31
Header Length Attack (HTTP Overflow)  (0) 2023.10.31
FORCEFUL_BROWSING (강제 브라우징)  (0) 2023.10.31
알아두면 좋은 아스키 코드 표  (1) 2023.10.29