🛡️OWASP 3 : Injection/Cross-Site Scripting
- bharat kumar
- Sep 4
- 2 min read
Updated: Sep 7

XSS is one of the top 10 OWASP Vulnerabilities and the most frequent Web Application Attack.
XSS: Understanding One of the Most Common Web Application Attacks
XSS (Cross-Site Scripting) is one of the top 10 OWASP vulnerabilities and one of the most frequent attacks targeting web applications. It exploits vulnerabilities in web applications to execute malicious scripts in the user's browser, often leading to stolen credentials, malware installation, and identity theft.
This vulnerability commonly occurs in web applications running outdated software versions—whether in web services, APIs, or other components. XSS attacks typically inject malicious scripts into web pages, often using JavaScript, which then run in the context of a victim’s browser.
Types of XSS Attacks
XSS attacks are generally categorized into three types:
Reflective XSS
The malicious script is embedded in a URL and executed immediately when the user clicks or visits the link.
Example: A phishing email containing a link that injects a malicious script when opened.User clicks malicious URL → Browser sends request → Server responds → Script executes in browser → Attacker steals data
Stored XSS
The malicious script is stored on the server (e.g., in a database or comment section) and executes whenever a user accesses the affected resource.
Example: A forum or blog post where attackers inject scripts that run for every visitor.Attacker injects script into database → User requests page → Script loads from server → Executes in browser → Attacker steals info
DOM-based XSS
A subtype of reflective XSS where the attack manipulates the Document Object Model (DOM) in the browser using user input, creating a dynamic malicious script.
Example: Scripts that exploit client-side JavaScript rendering to steal sensitive information.User inputs data → Webpage modifies DOM → Browser executes malicious script → Attacker gains data
What Can XSS Do?
XSS attacks can have serious consequences, including:
Stealing credentials (login information, cookies, session tokens)
Installing or running malicious applications
Injecting trojans or ransomware
Identity theft and impersonation
Unauthorized access to sensitive data
How to Protect Against XSS
Preventing XSS requires a combination of secure coding practices, server configurations, and client-side policies. Key measures include:
Use a Content Security Policy (CSP)
Restricts sources from which scripts, images, and other resources can be loaded, mitigating script injection.
Set Content-Type Headers for HTTP Responses
Ensures browsers interpret data correctly and prevents scripts from being executed in unintended contexts.
Encode Data on Input and Output
Encode special characters (e.g., <, >, &) to prevent them from being interpreted as code.
Parameterize Input
Avoid directly using user input in scripts or database queries. Use safe methods like prepared statements and input validation.
Keep Software Up-to-Date
Regularly patch web servers, frameworks, and libraries to close known vulnerabilities.
Sanitize User Input
Remove or escape potentially dangerous characters in forms, URLs, or APIs.
By implementing these preventive measures, organizations can significantly reduce the risk of XSS attacks and safeguard their users’ data. Remember, security is a continuous process—staying vigilant and updating your defenses is key.







Comments