
웹 캐시 기만 공격에 대한 애플리케이션 취약점을 테스트하는 Burp 확장 프로그램
Web Cache Deception 공격에 대한 애플리케이션 취약점을 테스트하는 Burp 확장 프로그램입니다.
확장 프로그램이 로드되면 Target - Sitemap 탭에서 테스트할 리소스를 마우스 오른쪽 버튼으로 클릭하여 액세스할 수 있습니다. 'Web Cache Deception Test'라는 상황에 맞는 메뉴 항목이 표시되며 테스트를 수행하는 데 사용할 수 있습니다. 리소스가 취약한 경우 취약점을 상세히 설명하는 Issue가 생성됩니다.
상황에 맞는 메뉴 항목은 Proxy - Http History 탭의 요청에도 사용할 수 있습니다.
2017년 2월, 보안 연구원 Omer Gil이 'Web Cache Deception'이라는 새로운 공격 벡터를 공개했습니다. (https://omergil.blogspot.co.il/2017/02/web-cache-deception-attack.html)
Web Cache Deception 공격은 결과적으로 치명적일 수 있지만 실행은 매우 간단합니다:
** 물론, 이 공격은 공격자가 접근 가능한 취약한 리소스가 민감한 데이터를 반환할 때만 의미가 있습니다.
이 공격은 애플리케이션을 취약하게 만들기 위해 매우 특정한 조건에 의존합니다:
1. 애플리케이션은 반환할 리소스를 결정하기 위해 URL의 첫 번째 부분만 읽습니다.
피해자가 다음을 요청하면:
https://www.example.com/my_profile
애플리케이션은 피해자 프로필 페이지를 반환합니다. 애플리케이션은 URL의 첫 번째 부분만 사용하여 프로필 페이지를 반환해야 한다고 결정합니다. 애플리케이션이 다음 요청을 수신하면
https://www.example.com/my_profile_test
추가된 텍스트를 무시하고 여전히 피해자의 프로필 페이지를 반환합니다. 다음 URL에도 동일하게 적용됩니다.
https://www.example.com/my_profile/test
2. 애플리케이션 스택은 캐시 헤더 값이 아닌 파일 확장자에 따라 리소스를 캐시합니다.
애플리케이션 스택이 이미지 파일을 캐시하도록 구성된 경우 .jpg, .png 또는 .gif 확장자를 가진 모든 리소스를 캐시합니다. 즉, 예를 들어 다음 위치의 이미지는
https://www.example.com/images/dog.jpg
이미지가 처음 요청될 때 애플리케이션 서버에서 가져옵니다. 이후의 모든 이미지 요청은 캐시에서 가져오며, 처음 캐시된 동일한 리소스로 응답합니다(캐시 시간 제한이 설정된 동안).
이러한 전제 조건은 Web Cache Deception 공격에 다음과 같이 악용될 수 있습니다:
충격적 이렇게 쉬운가요?