Cross-site scripting is the most common web vulnerability and it's often hiding in places basic scanners miss. Here's how to find it on your own sites — for free.
An attacker embeds a simple script tag on your login page. Every user who logs in over the next six months has their session cookie sent to the attacker's server. The attacker uses those cookies to access each account, drain stored payment methods, and read private data. They found the XSS in 20 minutes using a free tool. You didn't know it existed.
Cross-site scripting (XSS) is the vulnerability that enables this entire chain. It's consistently one of the top three most-reported web vulnerabilities year after year — and it's one of the easiest to miss if you're not specifically testing for it. Here's how to find it before someone else does.
XSS allows an attacker to inject JavaScript into a page that other users see. The browser sees the script as legitimate code from your site, so it runs it with full access to your site's cookies, local storage, and DOM. The attacker can read everything the legitimate page can read.
There are three types:
Open-source XSS scanner built specifically for finding cross-site scripting. It parses parameters, analyzes reflection points, and validates findings with real browser-level detection. Runs from command line, fast, and produces clean reports. Install: go install github.com/hahwul/dalfox/v2@latest — then: dalfox url "https://yourdomain.com/search?q=test"
Free XSS scanner with built-in WAF detection and context-aware payload generation. Slower than Dalfox but has more intelligent payload variation. Good for when you need to test against sites with basic protections. Requires Python 3.
If you want targeted scanning without installing tools or managing command-line utilities, the EdgeIQ XSS Scanner runs from a browser and tests specific pages or parameters. Good for quick checks without the overhead.
The free community edition of Burp Suite includes a passive scanner that finds some XSS issues as you browse. Not as thorough as the paid version, but useful for getting a baseline without any cost. Install the CA cert in your browser to test HTTPS sites properly.
Automated scanners miss DOM-based XSS reliably. If you have tech capability in-house, here's the manual test process:
<script>alert(document.domain)</script>The context matters enormously. Reflected XSS in a URL parameter requires user interaction to exploit — someone has to click a link. Stored XSS in a comment field exploits every visitor automatically. DOM-based XSS can be subtle and easily missed by scanners that only check server responses.
Scanner coverage gaps include:
dalfox url "https://yourdomain.com/page?param1=test¶m2=test"<script>alert(1)</script>XSS is common and exploitable, but it's also fixable. The vast majority of XSS vulnerabilities come from three root causes: missing input sanitization, unsafe output encoding, and JavaScript that trusts user-controlled data. Fix those three things and you'll eliminate most of your XSS attack surface.
Find XSS vulnerabilities before they become headlines.
Try the XSS Scanner Free →