CAPEC-468: Generic Cross-Browser Cross-Domain Theft
Standard
Draft
严重程度: Medium
CAPEC版本: 3.9
更新日期: 2023-01-24
攻击模式描述
An attacker makes use of Cascading Style Sheets (CSS) injection to steal data cross domain from the victim's browser. The attack works by abusing the standards relating to loading of CSS: 1. Send cookies on any load of CSS (including cross-domain) 2. When parsing returned CSS ignore all data that does not make sense before a valid CSS descriptor is found by the CSS parser.
前提条件
- No new lines can be present in the injected CSS stringProper HTML or URL escaping of the " and ' characters is not presentThe attacker has control of two injection points: pre-string and post-string
所需技能
High
Ability to craft a CSS injection
所需资源
- Attacker controlled site/page to render a page referencing the injected CSS string
缓解措施
Design: Prior to performing CSS parsing, require the CSS to start with well-formed CSS when it is a cross-domain load and the MIME type is broken. This is a browser level fix.
Implementation: Perform proper HTML encoding and URL escaping