img tag GET request CSRF
The oldest CSRF: img.src to a state-changing GET endpoint sends cookies along.
按 sandbox 策略的行为
| 策略 | 预期结果 |
|---|---|
| 无 sandbox | 通过 |
sandbox="allow-scripts" | 通过 |
sandbox="" (最严) | 通过 |
Embed 代码
此代码使用专用嵌入页面。粘贴到您的服务后检查渲染或拦截行为。
<iframe src="https://xss-playground.com/embed/csrf-image?lang=zh" title="XSS Playground - img tag GET request CSRF" width="600" height="420" loading="lazy" referrerpolicy="strict-origin-when-cross-origin"></iframe>
실행
// 로그 없음
해설
- 가장 오래된 CSRF 형태.
<img src="https://target/action?a=b">한 줄로 사용자 쿠키와 함께 GET 요청이 날아갑니다. - sandbox 가 빈 값이어도 img 요청은 갑니다. 진짜 막으려면 CSP
img-src또는 HTML 렌더링 단계에서 img 태그 src 호스트 검증이 필요합니다. - 타깃이 SameSite=Lax 쿠키를 쓴다면 cross-site GET 으로는 쿠키가 안 붙어 CSRF 영향은 거의 없습니다. 다만 IP 노출, 트래킹 픽셀, internal-only 엔드포인트 핑 정도는 여전히 가능합니다.
- 참고: 많은 에디터와 CMS 는 img 태그를 일반적으로 허용하므로, 이 공격면을 막으려면 host allowlist 또는 CSP 가 필요합니다.