이번 시간에는 웹 취약점 네 번째 시간으로 불필요한 Method 허용 취약점에 대해 알아보고 이로 인해 발생할 수 있는 문제점과 이를 해결하기 위한 대응 방안에 대해 알아보도록 하겠습니다.
불필요한 Method 허용 취약점이란?
- HTTP 프로토콜의 경우 클라이언트가 서버에 요청의 목적을 알리기 위해 Method 라는 수단을 사용하여 서버에 목적을 알리게 되는데 목적에 따라서 GET, POST, HEAD, PUT, DELETE, OPTIONS, TRACE 등으로 분류되고 사용되어진다.
- 위 메소드들 중 몇몇 종류는 비인가된 사용자가 사용할 수 있을 경우 문제가 발생할 수 있습니다. 대표적으로 PUT, DELELE, TRACE 가 있습니다.
- PUT 메소드와 DELETE 메소드의 경우 임의로 서버 내 파일 생성 또는 삭제를 할 수 있는 메소드로 인가되지 않은 사용자로 인해 서버가 조작될 위험이 있는 메소드입니다.
- TRACE 메소드의 경우 사용하게 될 경우 클라이언트가 서버로 전송한 요청을 다시 그대로 반환해주는 메소드인데 이 때 쿠키 및 세션 값이 그대로 다시 반환되게 되어 XST (Cross-Site Traing) 같은 공격에 사용될 수도 있는 메소드입니다.
- 이렇게 사용자에게 굳이 필요하지 않은 메소드는 허용하게 될 경우 다양한 공격에 노출되는 위험이 생기게된다.
- 이렇게 사용자에게 필요하지 않은 메소드까지 모두 허용해 놓은 것을 불필요한 Method 허용 취약점이라 한다.
- 예시로 위 사진을 보면 OPTIONS 메소드를 사용하여 서버에 전송한 결과 사용할 수 있는 메소드가 반환된 것을 볼 수 있는데 HEAD, TRACE 같은 불필요한 메소드가 포함되어져 있는 것을 볼 수 있다.
불필요한 Method 허용 취약점으로 인해 발생할 수 있는 보안 취약점
- PUT 메소드 또는 DELETE 메소드 같은 메소드가 활성화 되어있을 경우 공격자가 서버에 저장된 데이터를 조작하거나 삭제할 수 있게 되는데 이를 이용해 Web Shell 등을 웹 서버에 삽입하여 공격을 할 수 있게된다.
- TRACE 메소드를 이용해 XST ( Cross-Site Tracing ) 같은 공격을 수행하여 세션 탈취 등의 공격이 발생할 수 있다.
불필요한 Method 허용 취약점 대응 방안
- 웹 서버나 프레임워크에서 HTTP 메소드를 제한하는 설정을 추가하여 필요한 HTTP Method만 허용하는 설정을 해야한다.
- 웹 방화벽(WAF, Web Application Firewall)를 사용하여 불필요한 Method 요청이 수신될 경우 패턴을 매칭시켜 해당 요청을 차단하는 방법을 사용할 수 있다.
'CERT > 웹 취약점' 카테고리의 다른 글
[웹 취약점]계정 관리 취약점의 정의 및 대응 방안 (0) | 2023.04.08 |
---|---|
[웹 취약점]취약한 파일 존재 취약점 정의 및 대응 방안 (0) | 2023.04.08 |
[웹 취약점]시스템 관리 취약점의 정의 및 대응 방안 (0) | 2023.04.01 |
[웹 취약점]디렉터리 나열(Directory Listing) 취약점의 정의 및 대응 방안 (0) | 2023.04.01 |
[웹 취약점]관리자 페이지 노출 취약점의 정의 및 대응 방안 (0) | 2023.04.01 |