XSS in Power Apps: A Real-World Fix

Power Apps gets sold as “low code,” which makes some teams assume “low risk.” That’s a mistake. I’ve seen Power Apps deployments where the frontend looked harmless, the data lived in Dataverse or SharePoint, and the team still shipped stored XSS because someone rendered user-controlled HTML inside an app component. The platform gives you a lot of guardrails, but the moment you start mixing user input, HTML text controls, custom pages, PCF components, embedded web resources, or data flowing in from Power Automate, you can absolutely create a mess. ...

June 18, 2026 · 7 min · headertest.com

XSS in URL Parameters: Copy-Paste Prevention Guide

XSS in URL parameters URL parameters are one of the most common places where XSS starts. They feel harmless because they arrive as plain text: https://example.com/search?q=shoes Then somebody reads q, drops it into the page, and now you have script execution. The vulnerable pattern is usually boring: const params = new URLSearchParams(window.location.search); const q = params.get('q'); document.getElementById('search-label').innerHTML = `Results for: ${q}`; If q is: <img src=x onerror=alert(1)> you just handed the browser executable HTML. ...

June 15, 2026 · 7 min · headertest.com

XSS in Jekyll Templates: Where Static Sites Go Wrong

Jekyll is a static site generator, which makes people assume it’s automatically safe from XSS. That’s a bad assumption. Static output can still ship dangerous HTML and JavaScript to every visitor. If untrusted content gets into your templates, markdown, front matter, data files, or generated JSON, you can absolutely create stored XSS in a Jekyll site. The fact that the site is “just files” doesn’t help once the browser starts parsing them. ...

June 13, 2026 · 8 min · headertest.com

XSS in Excel Web Add-ins: A Real-World Fix

Excel web add-ins are just web apps wearing an Office badge. That sounds obvious, but teams forget it all the time. I’ve seen this play out the same way more than once: a team builds a task pane add-in, treats workbook data like “internal content,” renders it into the DOM, and accidentally creates a clean XSS path inside Excel. The UI looks harmless. The payload comes from a spreadsheet cell, a custom function result, or a document setting. Then somebody pastes attacker-controlled content into a workbook, shares it, and the add-in executes script in the task pane. ...

June 12, 2026 · 15 min · headertest.com

XSS in Cognito Forms: Risks, Defenses, and Tradeoffs

Cognito Forms is convenient. That’s why teams use it. You get hosted forms, calculations, workflows, payments, and embeds without building the whole stack yourself. The security catch is the same one you get with any third-party form platform: user-controlled content eventually gets displayed somewhere. If that content is rendered unsafely in a browser, you have an XSS problem. For developers, the real question usually isn’t “Does Cognito Forms have XSS?” It’s “Where can XSS happen in the way we use Cognito Forms, and which defenses are actually worth the complexity?” ...

June 10, 2026 · 7 min · headertest.com

XSS and Server-Side Rendering: Where Teams Still Get Burned

Server-side rendering feels safer than shipping a giant client-side app. A lot of HTML is generated on the server, templates usually escape output by default, and there is less obvious DOM manipulation in the browser. That safety is real, but people overestimate it. I’ve seen teams say “we use SSR, so XSS isn’t really a concern.” Then you look at the code and find raw HTML helpers, unquoted attributes, JSON blobs jammed into <script> tags, and a CSP that exists only in a slide deck. SSR reduces some attack surface. It does not remove the core problem: if untrusted data lands in the wrong output context without the right encoding, you still have XSS. ...

June 8, 2026 · 8 min · headertest.com

XSS Mistakes in Tauri Apps and How to Fix Them

Tauri gives you a desktop shell with a web frontend, which is exactly why XSS in a Tauri app is more dangerous than XSS in a normal website. A browser XSS bug usually means session theft, UI redress, or requests made as the user. A Tauri XSS bug can become local file access, unsafe command execution through Rust commands, abuse of privileged APIs, or persistence inside a desktop app users trust more than a random tab. I’ve seen teams treat the frontend like “just a local UI” and that mindset creates ugly bugs fast. ...

June 7, 2026 · 7 min · headertest.com

Using Nonces to Prevent XSS with CSP

Content Security Policy nonces are one of the cleanest ways to shut down a huge class of XSS bugs without rewriting every frontend template you own. If you’ve ever inherited a server-rendered app with inline scripts sprinkled everywhere, nonces are usually the fastest path to meaningful protection. They let you keep specific inline <script> and <style> blocks while blocking attacker-injected ones. The short version: The server generates a fresh random nonce for every HTTP response That nonce goes into the CSP header The same nonce is added to trusted inline <script> or <style> tags The browser executes only the tags with the matching nonce If an attacker injects <script>alert(1)</script>, it won’t have the right nonce, so the browser refuses to run it. ...

June 5, 2026 · 7 min · headertest.com

XSS in Make Automations: Risks, Tradeoffs, and Fixes

Make is great at moving data between systems. That convenience is exactly why XSS can sneak in so easily. I’ve seen teams assume XSS is only a frontend bug. Then they wire Make into forms, CRMs, CMS tools, Slack, email builders, internal dashboards, and webhook handlers. Suddenly untrusted input is flowing through ten services, getting reformatted three times, and landing in HTML somewhere nobody reviewed carefully. That’s the real problem with XSS in Make automations: Make usually isn’t the final vulnerable layer, but it can absolutely become the delivery mechanism. ...

June 4, 2026 · 7 min · headertest.com

XSS in n8n Workflows: Where It Sneaks In

n8n is great at moving data between systems fast. That also makes it great at moving attacker-controlled HTML and JavaScript straight into places you did not expect. If you build internal tools, approval flows, chat integrations, or webhook-driven automations with n8n, you are already handling untrusted input. The problem starts when that input gets rendered in a browser, embedded into HTML emails, dropped into dashboard widgets, or passed into a frontend without output encoding. ...

June 3, 2026 · 8 min · headertest.com