XSS (cross site scripting)

XSS is an abbreviation of cross-site scripting.


XSS is a security breach that takes advantage of dynamically generated Web pages.
In an XSS attack, a Web application is sent with a script that activates when it is read by an unsuspecting user?s browser or by an application that has not protected itself against cross-site scripting. Because dynamic Web sites rely on user input, a malicious user can input malicious script into the page by hiding it within legitimate requests.
It won’t give u a ‘root‘ or SYSTEM access on a web server.As it lives purely on application level,so it will get u some information about the web application.Its mere an ability of injecting HTML tags in the input of a web application.It is generally believed to be one of the most common application layer hacking techniques.It refers to that hacking technique that leverages vulnerabilities in the code of a web application which allow an attacker to send malicious content from an end-user .Its attacks occur when an attacker uses a web application to send malicious code, generally in the form of a browser side script, to a different end user.Flaws that allow these attacks to succeed are wide spreaded and occur anywhere were a web application uses input from a user in the output it generates without validating or encoding it.
It is also referred to as malicious tagging because its a type of computer security vulnerability typically found in web applications which allow code injection by malicious
web users into the web pages viewed by other users.
Examples of such code include HTML code and client-side scripts.
Common exploitations include search engine boxes, online forums and public-accessed blogs,etc.
Once XSS has been launched, the attacker can change user settings, hijack accounts, poison cookies with malicious code, expose SSL connections, access restricted sites and even launch false advertisements.
The simplest way to avoid XSS is to add code to a Web application that causes the dynamic input to ignore certain command tags.
Scripting tags that take advantage of XSS include <SCRIPT>, <OBJECT>, <APPLET>,
<EMBED> ,<FORM> & many more.
Common languages used for XSS include JavaScript, VBScript, HTML, Perl, C++, ActiveX
and Flash.
In short, its a common flaw found in today’s web applications & can cause serious
damage to a web application. Detecting these vulnerabilities early in the development process will help protect a web application from unnecessary flaws.
These are executed on the client-side (ie in the user?s web browser) rather than on the server-side. In itself its a threat which is brought about by the internet security weaknesses of client-side scripting languages. Its concept is to manipulate client-side scripts of a web application to execute in the manner desired by the malicious user.
Such a manipulation can embed a script in a page which can be executed every time the page is loaded, or whenever an associated event is performed. Its a trick which often is used to make malicious URLs less obvious is to have the XSS part of the URL encoded in HEX (or other encoding methods). This will look harmless to the user who recognizes the URL he is familiar with, and simply disregards and following tricked? code which would be encoded and therefore inconspicuous.It can be used to steal sensitive data from a back-end database Exploited XSS is commonly used to achieve the malicious results such as Identity theft , Accessing sensitive or restricted information,Gaining free access to otherwise paid for content, Spying on user?s web browsing habits , Altering browser functionality, Public defamation of an individual or corporation, Web application defacement, Denial of Service attacks & many more !


Three distinct types of XSS vulnerabilities exist: non-persistent, persistent and DOM-based (which can be either persistent or non-persistent).

Remedy (in short)

To check for Cross site scripting vulnerabilities, use a Web Vulnerability Scanner.A Web Vulnerability Scanner crawls your entire website and automatically checks for Cross Site Scripting vulnerabilities. It will indicate which URLs/scripts are vulnerable to these attacks so that you can fix the vulnerability easily. Besides Cross site scripting vulnerabilities a web application scanner will also check for SQL injection & other web vulnerabilities.To prevent these attacks, dangerous characters must be filtered out from the web application inputs. These should be filtered out both in their
ASCII and HEX values.A quick fix we can do being an end user is turning off javascript,
but having an Internet so polluted by active menu’s & javascript enabled forms,
a part of the internet might not function properly.The real fixing should be done on the application developer side. Filter & check all user input.SQL injection would be a problem that should be dealt with,but XSS isn’t always !
Many web application security do filter on certain characters such as single quote but many don’t filter on HTML code.Many automated security scanners give false positives while acessing a web server’s security.Some input fields might not be filterd but other
users can’t edit them.The danger of XSS lies in passing the data on to other ,
malicious , parties.