Skip to content

CSS Injection · passage 5 of 9

Sequential Import Chaining (SIC)

Text · CSS Injection/README.md

For testing systems you own or are authorised to test, and for defending them. Nothing here is run by this page.

Open this passage on GitHub

SIC allows an attacker to chain multiple extraction steps without reloading the page: 1. Inject an initial `@import` rule pointing to a staging payload. 2. The staging payload holds the connection open (long-polling) while generating the next specific payload. 3. When a CSS rule matches (e.g., a character is found via `background-image`), the browser makes a request. 4. The server detects this request and generates the next `@import` rule to continue the chain.

Source: CSS Injection/README.md in PayloadsAllTheThings. From PayloadsAllTheThings by Swissky and contributors. MIT License, Copyright (c) 2019 Swissky.

Data as of 2026-11-15. CVE List through 2026-11-15 · EPSS of 2026-11-14 · CISA KEV checked 2026-11-15. Source: PayloadsAllTheThings by Swissky and contributors, MIT License. For authorised testing only.