Cross-site
scripting (XSS) is a type of computer security vulnerability typically found in Web applications. Cross-Site
Scripting (XSS) attacks are a type of injection, in which malicious scripts are
injected into trusted web sites.
Cross-site Scripting (XSS) is generally believed to be one of the most common application layer hacking techniques.
XSS is the hacking technique that leverages
vulnerabilities in the code of a web application to allow an attacker to send
malicious content from an end-user and collect some type of data from the
victim.
An attacker can use XSS to
send a malicious script to an unsuspecting user. The end user’s browser has no
way to know that the script should not be trusted, and will execute the script.
Because it thinks the script came from a trusted source, the malicious script
can access any cookies, session tokens, or other sensitive information retained
by the browser and used with that site. These scripts can even rewrite the
content of the HTML page.
There are three types of
XSS Attacks :
- Stored/Persistent XSS
Stored XSS generally
occurs when user input is stored on the target server, such as in a database,
in a message forum, visitor log, comment field, etc. And then a victim is able
to retrieve the stored data from the web application without that data being
made safe to render in the browser.
- Reflected/Non-Persistent XSS
Reflected XSS occurs when
user input is immediately returned by a web application in an error message,
search result, or any other response that includes some or all of the input
provided by the user as part of the request, without that data being made safe
to render in the browser, and without permanently storing the user provided
data.
- DOM Based XSS
It is an XSS attack
wherein the attack payload is executed as a result of modifying the DOM
“environment” in the victim’s browser used by the original client side script,
so that the client side code runs in an “unexpected” manner. That is, the page
itself (the HTTP response that is) does not change, but the client side code
contained in the page executes differently due to the malicious modifications
that have occurred in the DOM environment.
Few of the popular websites vulnerable to XSS which I found out while browsing into these websites. I reported the issues to the respective websites support and security team. They have fixed the issue after that.
1. www.thefind.com
Vulnerable Parameter: query
XSS in www.thefind.com |
2. www.timesdeal.com
Vulnerable Parameter: searchname
XSS in www.timesdeal.com |
3. www.tradus.com
XSS in www.tradus.com |
4. www.redbus.in
Vulnerable URL parameters: "fromCityName" and "toCityName".
XSS in www.redbus.in |
How to Determine If You Are Vulnerable
XSS flaws can be difficult to identify and remove from a web application. The best way to find flaws is to perform a security review of the code and search for all places where input from an HTTP request could possibly make its way into the HTML output.
How to Protect Yourself
- Contextual output encoding/escaping of string input
- Safely validating untrusted HTML input
I appreciated your work very thanks Scan
ReplyDelete