hackerone-shopify-2020-09-l-977851

Cache poisoning via X-Forwarded-Host in www.shopify.com/partners/blog

보고서

X-Forwarded-Host: yoursite.com 와 같이 헤더를 끼워 넣어 웹 캐시 포이즈닝이 가능했다. X-Forwarded-Host 헤더에 있는 URL을 이용하여 동적으로 URL을 생성하기에 이 헤더를 조작하여 원하는 URL을 생성할 수 있었다.

https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fa4129912adehq5m14ryflu01ovx68j0ur0ho6.burpcollaborator.net%2Fpartners%2Fblog%2F7-web-design-and-development-awards-you-should-enter 와 같이 페이스북 공유 링크 등이 조작되었다.

그리고 X-Forwarded-Host 헤더를 삭제한 뒤 다시 요청했을 때도 캐시를 이용했기에 감염된 응답이 돌아왔다.

XSS 가능성도 있어 보였지만 캐시 버스터를 찾지 못 해 프로덕션 페이지를 감염시킬 수도 있어 테스트하지 않았다. X-Forwarded-Host : foobar.pl"><img src=x onerror=blah> 와 같은 페이로드로 가능할 것이라 제시했다.

Burpsuite의 Match and Replace에서 Request header에 헤더를 추가하면 모든 요청에 헤더를 끼워넣게 할 수 있다. 이를 이용하면 좀 더 편하게 테스트할 수 있다.


tags: bughunting, shopify, web-cache-poisoning, host-header-injection, wstg-inpv-17, severity low, web hacking