Extended XSS Searcher and Finder - scans for different types of XSS on a list of URLs.

(30 views)

XSS Searcher is the extended version based on the initial idea already published as "xssfinder". This private version allows an attacker to perform not only GET but also POST requests. Additionally, it's possible to proxy every request through Burp or another tunnel.

First steps

Rename the example.app-settings.conf to app-settings.conf and adjust the settings. It should work out of the box but depending on the target I would recommend resizing the chunk sizes.

Execution

This tool does not expect any arguments via CLI, so just type:

python3 extended-xss-search.py

Configuration

It's possible to set a lot of options and settings, so here are some explanations.

Files

The main config file is the "app-settings.conf", everything has to be done in that file! Besides that, there are some other files that allow setting more complex data like headers, URLs and cookies.

config/cookie-jar.txt

Use this file to add a cookie string. I usually copy the one which you can see in every burp request. Please just copy the value of the "Cookie:"-header. Sample input is in the default file.

config/http-headers.txt

This file defines the HTTP headers which are added to the request and manipulated (payload is added to each one). The most important ones are already in the file. But feel free to add more.

config/parameters.txt

The tool has the option to brute force get and post parameters. In that case, those parameters (+ those in the query string) will be used. Each parameter gets the payload as value. Most important are already in that file.

config/urls-to-test.txt

That's the file you need! Please add here your links to scan. The following formats are allowed:

When the last case is detected an "http://" is prepended. This tool is intended to work with a good list of URLs. A good way to get one is to just export it using burp. Then you have a valid list of URLs. All you need to do ist to just add your cookies.

logs/

This is the log folder where everything gets logged to!

Settings

The app-settings.conf defined the program workflow. Its the most important file, you can activate/deactivate different modules there.

Basic settings

HTTPTimeout

Some requests can take longer. Here you can define the max. the execution time of one request. I recommend the values between 2 and 6 seconds.

MaxThreads

The more threads, the faster the script is - but since we are dealing with a lot of connections I usually keep this below 10 on my personal computer and around 30 on my VPS.

Attack types

OnlyBaseRequest

Setting this to true will result in only "base requests" - this means the URL lists are just spidered and interesting parameters extracted. You could use that to fill your burp sitemap quickly.

UsePost

Use can skip POST requests setting this to "false"

UseGet

This is similar - skip GET requests if set to "false"

Attack type settings

GetChunkSize

How many GET parameters to test with one request?

PostChunkSize

How many POST parameters to test with one request?

Tunneling

Its also possible to use a tunnel, e.g. "127.0.0.1:8080" (Burp Proxy), to monitor all traffic within Burp.

Active

Setting this to "true" will force the script to use a tunneled connection.

Tunnel

Set here your proxy server "ip:port".

The result is the following one when you open Burp you can watch your HTTP history: 

Screenshot

Feature requests

Please just create an issue and tag it as a feature request.


More at: https://github.com/Damian89/extended-xss-search

March 9, 2020

Author

Hakin9 TEAM
Hakin9 is a monthly magazine dedicated to hacking and cybersecurity. In every edition, we try to focus on different approaches to show various techniques - defensive and offensive. This knowledge will help you understand how most popular attacks are performed and how to protect your data from them. Our tutorials, case studies and online courses will prepare you for the upcoming, potential threats in the cyber security world. We collaborate with many individuals and universities and public institutions, but also with companies such as Xento Systems, CATO Networks, EY, CIPHER Intelligence LAB, redBorder, TSG, and others.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
© HAKIN9 MEDIA SP. Z O.O. SP. K. 2023