본문 바로가기
프로그래밍/Web.

[Web Security] 불필요한 HTTP Method 지원 방지

by _Chavi 2020. 8. 24.

 

HTTP Method엔 GET과 POST 이외에도 여러 메서드들이 있습니다. 그러나 사용하지 않으면서 여러 메서드들의 호출을 허용하고, 서버에서 사용 가능한 메서드 목록이 노출되는 것은 보안 취약점입니다.

해당 취약점을 처리하는 방법을 기록합니다.

 

처리 전

처리전 OPTIONS 요청
지원하는 모든 메서드가 노출되고 OPTIONS 또한 동작한다

처리(web.xml)
	<servlet>
		<!-- 전략 -->
		<init-param>
			<param-name>dispatchOptionsRequest</param-name>
			<param-value>true</param-value>
		</init-param>
		<!-- 후략 -->
	</servlet>
	
	<!-- HTTP Method 제한 -->
	<security-constraint>
		<display-name>Forbidden</display-name>
		<web-resource-collection>
			<web-resource-name>Protected Context</web-resource-name>
			<url-pattern>/*</url-pattern>
			<http-method>HEAD</http-method>
			<http-method>PUT</http-method>
			<http-method>DELETE</http-method>
			<http-method>TRACE</http-method>
			<http-method>OPTIONS</http-method>
			<http-method>PATCH</http-method>
		</web-resource-collection>
		<auth-constraint>
			<role-name></role-name>
		</auth-constraint>
	</security-constraint>

위와 같이 처리해주면 에러코드 403을 응답하게 됩니다.

 

처리 후

처리후 OPTIONS 요청
GET, POST 메서드를 제외한 모든 요청은 403 에러를 응답받는다

 

'프로그래밍 > Web.' 카테고리의 다른 글

[HTML] 이미지가 없으면 감추기  (0) 2020.10.16
[Mybatis] 무제  (0) 2020.09.29
[Web] OWASP ZAP로 HTTP Method 확인하기  (0) 2020.08.24
[JAVA] static과 final의 컴파일  (0) 2020.08.11
[JAVA] IP 를 long 형으로 변환하기  (0) 2020.08.06

댓글