HTTP 파라미터 오염
HTTP parameter pollutionHTTP |
---|
요구 방식 |
헤더 필드 |
응답 상태 코드 |
보안 접근 제어 방법 |
보안 취약성 |
HTTP Parameter Pollution(HPP; HTTP 매개 변수 오염)은 이미 존재하는 매개 변수에 인코딩된 쿼리 문자열 구분 기호를 삽입하여 부정 이용하는 웹 응용 프로그램 취약성입니다.이 취약성은 사용자 입력이 웹 [1]응용 프로그램에 의해 출력되도록 올바르게 인코딩되지 않은 경우 발생합니다.이 취약성을 통해 웹 응용 프로그램에서 만든 URL에 매개 변수를 주입할 수 있습니다.2009년 OWASP EU09 [1]폴란드 회의에서 Stefano di Paola와 Luca Carlettoni에 의해 일반에 처음 소개되었습니다.이러한 취약성의 영향은 다양하며, "단순한 짜증"에서 웹 응용 프로그램의 의도된 동작을 완전히 중단하는 것까지 다양합니다.웹 응용 프로그램의 동작을 변경하기 위해 HTTP 매개 변수를 재정의하고 입력 및 액세스 유효성 검사점을 바이패스하는 것 및 기타 간접적인 취약성은 HPP [1]공격의 결과일 수 있습니다.
복수의 파라미터를 넘었을 경우의 대처에 관한 RFC 규격은 없습니다.채널 간 오염, CSRF 보호 바이패스 및 WAF 입력 검증 [2]체크에 HPP를 사용할 수 있습니다.
행동
같은 이름의 여러 파라미터를 전달한 경우 백엔드는 다음과 같이 [3]동작합니다.
테크놀로지 | 해석 결과 | 예 |
---|---|---|
ASP.NET/IIS | 모든 항목이 쉼표로 연결되어 있습니다. | param=val1,val2 |
ASP/IIS | 모든 항목이 쉼표로 연결되어 있습니다. | param=val1,val2 |
PHP/Apache | 마지막 오카렌스만 | param=val2 |
PHP/Zeus | 마지막 오카렌스만 | param=val2 |
JSP, Servlet/Apache Tomcat | 최초 발생만 | param=val1 |
JSP, Servlet/Oracle 애플리케이션 서버 | 최초 발생만 | param=val1 |
JSP, 서블릿/제티 | 최초 발생만 | param=val1 |
IBM Lotus Domino | 마지막 오카렌스만 | param=val2 |
IBM HTTP 서버 | 최초 발생만 | param=val1 |
mod_perl,libapreq2/Apache | 최초 발생만 | param=val1 |
Perl CGI/Apache | 최초 발생만 | param=val1 |
mod_wsgi(Python)/아파시 | 최초 발생만 | param=val1 |
Python/Zope | 목록(배열)의 모든 항목 | param=['val1', val2'] |
종류들
클라이언트측
서버측
예방
HPP [5]상의 웹 테크놀로지에 대한 적절한 입력 검증 및 인식은 HTTP 파라미터 오염으로부터 보호하는 것입니다.
「 」를 참조해 주세요.
레퍼런스
- ^ a b c Balduzi et al. 2011, 페이지 2
- ^ "HTTP Parameter Pollution Vulnerabilities in Web Applications" (PDF). 2011.
- ^ "WSTG - Latest:Testing for HTTP Parameter Pollution".
- ^ a b c d e Luca Carettoni and Stefano Di Paola. "HTTP Parameter Pollution" (PDF).
{{cite web}}
: CS1 maint: 작성자 파라미터 사용(링크) - ^ "How to Detect HTTP Parameter Pollution Attacks".
참고 문헌
- Balduzzi, Marco; Torrano-Gimenez, Carmen; Balzarotti, Davide; Kirda, Engin (2011). Automated Discovery of Parameter Pollution Vulnerabilities in Web Applications. Proceedings of the Network and Distributed System Security Symposium, NDSS 2011 – via ResearchGate.