대용량 페이로드 처리
Source: Dev.to
Why it matters
큰 페이로드는 413 Payload Too Large 로 명시적으로 거부해야 합니다.
대신 400 Bad Request 로 응답하면 오해를 불러일으키고 서버 자원을 낭비하게 하며, 사소한 서비스 거부(DoS) 벡터를 열게 됩니다.
What was tested
TEST: Large Payload Test
- Mutation: 요청 본문 크기 확대(기본 10 MB)
- Expected: 413 Payload Too Large
- Anything else: 잘못된 처리
Real impact
과도한 요청을 수락하거나 파싱하는 API는 메모리와 CPU를 불필요하게 점유하게 되며, 공격자는 이를 이용해 서비스 가용성을 저하시킬 수 있습니다.
OWASP context
통제되지 않은 자원 소비와 서비스 거부는 OWASP에서 알려진 위험 카테고리이며, 크기 제한은 가장 앞단에서 적용되어야 합니다.
Real world example
이 문제는 주요 API(ChatGPT API)에서 발견되어 보고 후 하루 만에 수정되었습니다 — 이는 잘못된 페이로드 처리의 심각성을 강조합니다.
Why this check exists in Rentgen
과도한 요청을 적절히 거부하도록 하여 API가 불필요한 작업과 명백한 DoS 벡터로부터 보호됩니다.