728x90
반응형
[Web Cache Deception 이란?]
Web Cache Deception은 공격자가 웹서버가 캐시를 설정할 때 처리 미흡을 이용한 공격 기법이다.
Web Cache Deception은 피해자가 공격자의 악성 URL을 방문하였을 때, 피해자의 응답값이 캐싱된다. 공격자가 동일한 URL을 방문할 경우 피해자의 민감한 정보가 들어있는 페이지에 접근할 수 있다.
[Web Cache란?]
Web Cache란, 웹 상에서 자주 요청되는 콘텐츠(HTML, CSS, JS, 이미지 등)를 브라우저, 서버에 저장해두는 메커니즘을 의미한다. 이를 통해, 동일하거나 유사한 요청이 재차 발생했을 때 Origin 서버까지 매번 요청하지 않아도 되기 때문에 속도적인 측면에서 이점이 있다.
[공격 예시]
location ~* \.(css)$ {
proxy_cache nginxcache;
}
위와 같이 cache가 이루어지고 있다고 가정하자.
http://server.com/private.php/attack.css
위 URL을 피해자가 접속할 경우, 응답값이 캐싱된다.
공격자가 똑같이 URL에 접근할 경우 캐싱된, 즉 같은 응답값을 볼 수 있다.
[대응 방법]
PHP에서 Apache를 사용할 경우, `www.example.com/aaa.php/attack.css`와 비정상 URL에 대한 제한이 없다. 이러한 요청을 적절히 제한해야한다. 자세한 내용은 아래 출처를 참고하자.
[관련 자료 및 출처]
https://dreamhack.io/wargame/challenges/1601
https://portswigger.net/web-security/web-cache-deception
https://www.hahwul.com/cullinan/web-cache-deception/
728x90
반응형
'웹 해킹 > 개념 노트장' 카테고리의 다른 글
DOM Clobbering (1) | 2024.12.30 |
---|---|
[Tip] CodeQL 간단 사용법 (0) | 2024.12.30 |
Relative Path Overwrite (0) | 2024.12.28 |