XSS is a very commonly exploited vulnerability type which is very widely spread and easily detectable for XSS.
Cross Site “Scripter” (aka XSSer) is an automatic framework to detect, exploit and report XSS vulnerabilities in web-based applications.
It contains several options to try to bypass certain filters, and various special techniques of code injection.
Also Read : Skipfish | Web application security scanner
Installation XSSer – XSS
XSSer runs on many platforms. It requires Python and the following libraries:
- python-pycurl - Python bindings to libcurl - python-xmlbuilder - create xml/(x)html files - Python 2.x - python-beautifulsoup - error-tolerant HTML parser for Python - python-geoip - Python bindings for the GeoIP IP-to-country resolver library
To install on Debian-based systemssudo apt-get install python-pycurl python-xmlbuilder python-beautifulsoup python-geoip
To list all the features XSSer Package “xsser -h”[email protected]:~# xsser -h
To launch a simple Injection attack[email protected]:~# xsser -u “http://192.168.169.130/xss/example1.php?name=hacker”
Injection from Dork, by selecting “google” as search engine:[email protected]:~# xsser –De “google” -d “search.php?q=”
In This KaliLinux Tutorial, To perform Multiple injections from URL, with Automatic payload, establishing a reverse connection.xsser -u “http://192.168.169.130/xss/example1.php?name=hacker” –auto –reverse-check -s
Simple URL Injection, using GET, injecting on Cookie and using DOM shadow
Parameter filtering with heuristics[email protected]:~# xsser -u “http://192.168.169.130/xss/example1.php?name=hacker” –heuristic
To Launch GUI Interface[email protected]:~# xsser –gtk
You can also use TOR proxy with XSSer.
- Injection with both GET and POST methods.
- Includes various filters and bypassing techniques.
- can be used both with the command line and GUI.
- Will provide detailed stats of the attack.
Common Defenses against XSS
- What input do we trust?
- Does it adhere to expected patterns?
- Never simply reflect untrusted data.
- Applies to data within our database too.
- Encoding of context(Java/attribute/HTML/CSS).