웹취약점 불필요한 메서드 제한 (제거방법)
클라이언트에서 GET, POST 이외의 method 로
작업 요청 시 보안문제가 발생할 수 있으며
PUT, DELETE 등의 method 로 인해 파일 변조 및
삭제를 당하는 등 악의적인 이용으로 피해가 발생할 수 있습니다.
HTTP Method 란?
- HTTP 메서드는 서버가 http 요청을 어떻게 처리하는지 지시해주는 필드이며
서버는 HTTP method 에 Reuqest-URI 에 대해 다른 동작을 수행할 수 있습니다.
우리가 흔희 아는 GET POST 를 말합니다.
Method 종류
- GET
- Request-URI 요청에 필요한 정보를 모두 담는다
- 재요청이 잦은 경우 유용 ( ex : 새로고침 )
- POST
- 요청에 필요한 정보들을 body 필드에 숨긴다.
- 길이 제한 없으며 정보가 노출되지 않도록 사용한다.
- Text 및 binary 데이터 전송 가능하다
- DELETE
- Request-URI 정보 삭제
- PUT
- 요청에 동봉된 정보를 저장한다.
- OPTIONS
- Request-URI 통신에 대한 정보 제공
- 어떤 method 기능을 제공하는지 체크
- URI 에 대한 기능적인 체크 동작 수행
- Request-URI 에는 body 필드 정의하지 않아도 된다.
- HEAD
- 요청에 대한 응답 body 를 return하지 않고 헤더 정보만 return
- 요청에 대한 유효성, 접근성을 확인할 때 사용
- CONNECT
- SSL tunneling 에 사용되는 method
- TRACE
- 클라이언트로부터 수신한 메시지를 응답에 포함시킨다.
- TRACE 메서드 요청에는 요청 정보를 포함하는 URI 를 사용하면 안된다.