Convert Figma logo to code with AI

s0md3v logoXSStrike

Most advanced XSS scanner.

13,141
1,888
13,141
94

Top Related Projects

🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

XSS spider - 66/66 wavsep XSS detected

Welcome to the XSS Challenge Wiki!

A list of interesting payloads, tips and tricks for bug bounty hunters.

Quick Overview

XSStrike is an advanced XSS detection suite designed to detect and exploit cross-site scripting vulnerabilities in web applications. It combines multiple features such as crawling, fuzzing, and parameter analysis to provide a comprehensive XSS scanning solution.

Pros

  • Highly accurate detection with minimal false positives
  • Supports multiple types of XSS attacks (reflected, stored, and DOM-based)
  • Includes a powerful fuzzing engine for thorough testing
  • Offers a user-friendly command-line interface

Cons

  • Can be resource-intensive for large-scale scans
  • Requires some technical knowledge to interpret and act on results
  • May trigger security measures on target websites if not used carefully
  • Limited documentation for advanced features

Getting Started

To get started with XSStrike, follow these steps:

  1. Clone the repository:

    git clone https://github.com/s0md3v/XSStrike.git
    
  2. Install the required dependencies:

    cd XSStrike
    pip install -r requirements.txt
    
  3. Run XSStrike:

    python xsstrike.py -u "http://example.com/page?param=value"
    

Replace the URL with your target website. Use additional options as needed, such as --crawl for crawling or --fuzzer for fuzzing.

Competitor Comparisons

🎯 Cross Site Scripting ( XSS ) Vulnerability Payload List

Pros of xss-payload-list

  • Extensive collection of XSS payloads for various scenarios
  • Well-organized and categorized payloads for easy reference
  • Regularly updated with new and innovative XSS techniques

Cons of xss-payload-list

  • Lacks automated scanning and detection capabilities
  • No built-in payload generation or customization features
  • Requires manual testing and implementation of payloads

Code Comparison

XSStrike:

def scan(url, params, headers, GET, delay, timeout):
    global globalVariables
    globalVariables = {}
    paramsCopy = copy.deepcopy(params)
    headers = copy.deepcopy(headers)
    GET = copy.deepcopy(GET)
    # ... (additional code)

xss-payload-list:

<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
<iframe src="javascript:alert(1)">

XSStrike provides a Python-based scanning function for automated XSS detection, while xss-payload-list offers a collection of ready-to-use XSS payloads in various formats. XSStrike's approach is more programmatic, whereas xss-payload-list serves as a reference for manual testing and implementation.

A list of useful payloads and bypass for Web Application Security and Pentest/CTF

Pros of PayloadsAllTheThings

  • Comprehensive collection of payloads for various attack vectors, not limited to XSS
  • Regularly updated with contributions from the security community
  • Well-organized structure, making it easy to find specific payloads

Cons of PayloadsAllTheThings

  • Lacks automated scanning and exploitation features
  • May require more manual effort to implement payloads in testing scenarios
  • Not specifically optimized for XSS attacks

Code Comparison

XSStrike:

def scan(url, params, headers, GET, delay, timeout):
    global globalVariables
    globalVariables = {}
    paramsCopy = copy.deepcopy(params)
    headers = copy.deepcopy(headers)
    GET = copy.deepcopy(GET)
    # ... (scanning logic)

PayloadsAllTheThings:

# XSS Injection

## Client Side Template Injection

AngularJS

{{7*7}} {{constructor.constructor('alert(1)')()}}


### Summary

XSStrike is a focused tool for XSS detection and exploitation, offering automated scanning capabilities. PayloadsAllTheThings, on the other hand, is a comprehensive resource for various attack payloads, including but not limited to XSS. While XSStrike provides ready-to-use scanning functionality, PayloadsAllTheThings offers a wider range of payloads that can be manually implemented in different security testing scenarios.

XSS spider - 66/66 wavsep XSS detected

Pros of xsscrapy

  • Built on Scrapy framework, allowing for efficient and scalable web crawling
  • Supports crawling of multiple domains simultaneously
  • Includes features for handling JavaScript rendering and AJAX requests

Cons of xsscrapy

  • Less actively maintained compared to XSStrike
  • May require more setup and configuration due to its reliance on Scrapy
  • Limited to Python 2, which is no longer officially supported

Code Comparison

XSStrike:

def scan(url, params, headers, GET, delay, timeout):
    global globalVariables
    globalVariables = {}
    paramsCopy = copy.deepcopy(params)
    headers = copy.deepcopy(headers)
    GET = GET
    delay = delay
    timeout = timeout

xsscrapy:

class XSSspider(CrawlSpider):
    name = 'xss-spider'
    def __init__(self, *args, **kwargs):
        super(XSSspider, self).__init__(*args, **kwargs)
        self.start_urls = [kwargs.get('url')]
        self.allowed_domains = [urlparse(self.start_urls[0]).netloc]

XSStrike focuses on a more targeted scanning approach, while xsscrapy leverages Scrapy's spider framework for broader crawling capabilities. XSStrike's code snippet shows its parameter handling, while xsscrapy's code demonstrates its integration with Scrapy's spider class.

Welcome to the XSS Challenge Wiki!

Pros of XSSChallengeWiki

  • Comprehensive educational resource for learning about XSS vulnerabilities
  • Provides a wide range of XSS challenges for practice and skill improvement
  • Regularly updated with new challenges and community contributions

Cons of XSSChallengeWiki

  • Not an active scanning tool, unlike XSStrike
  • Requires manual effort to learn and practice, rather than automated testing
  • May not cover all real-world XSS scenarios encountered in penetration testing

Code Comparison

While a direct code comparison is not relevant due to the different nature of these projects, we can compare their approaches:

XSStrike (Python-based scanning tool):

def scan(url, params, headers, GET, delay, timeout):
    # Scanning logic for XSS vulnerabilities

XSSChallengeWiki (HTML/JavaScript-based challenges):

<script>
    // Challenge logic to test XSS skills
    document.write(location.hash.slice(1));
</script>

XSStrike is an active scanning tool designed to detect XSS vulnerabilities automatically, while XSSChallengeWiki provides a platform for manual learning and practice of XSS techniques. Both serve important roles in the field of web security, with XSStrike being more suitable for automated testing and XSSChallengeWiki for educational purposes and skill development.

A list of interesting payloads, tips and tricks for bug bounty hunters.

Pros of bugbounty-cheatsheet

  • Comprehensive resource covering various security testing aspects beyond XSS
  • Community-driven with contributions from multiple security researchers
  • Regularly updated with new techniques and tools

Cons of bugbounty-cheatsheet

  • Less focused on XSS specifically, may lack depth in this area
  • Not an executable tool, requires manual implementation of techniques
  • May be overwhelming for beginners due to the breadth of information

Code Comparison

XSStrike:

def fuzzer(url, params, headers, GET, delay, timeout):
    for param in params.keys():
        paramsCopy = copy.deepcopy(params)
        paramsCopy[param] = xnLowercase
        response = requester(url, paramsCopy, headers, GET, delay, timeout)
        if encoding.lower() in response.headers.get('content-type', ''):
            return param
    return None

bugbounty-cheatsheet:

## XSS

```javascript
<script>alert('XSS')</script>
<scr<script>ipt>alert('XSS')</scr<script>ipt>
"><script>alert('XSS')</script>

The code comparison shows that XSStrike is a Python-based tool with active fuzzing capabilities, while bugbounty-cheatsheet provides markdown-based examples and payloads for manual testing. XSStrike offers automated scanning, whereas bugbounty-cheatsheet serves as a reference guide for various security testing techniques.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README


XSStrike
XSStrike

Advanced XSS Detection Suite

multi xss

XSStrike Wiki • Usage • FAQ • For Developers • Compatibility • Gallery

XSStrike is a Cross Site Scripting detection suite equipped with four hand written parsers, an intelligent payload generator, a powerful fuzzing engine and an incredibly fast crawler.

Instead of injecting payloads and checking it works like all the other tools do, XSStrike analyses the response with multiple parsers and then crafts payloads that are guaranteed to work by context analysis integrated with a fuzzing engine. Here are some examples of the payloads generated by XSStrike:

}]};(confirm)()//\
<A%0aONMouseOvER%0d=%0d[8].find(confirm)>z
</tiTlE/><a%0donpOintErentER%0d=%0d(prompt)``>z
</SCRiPT/><DETAILs/+/onpoINTERenTEr%0a=%0aa=prompt,a()//

Apart from that, XSStrike has crawling, fuzzing, parameter discovery, WAF detection capabilities as well. It also scans for DOM XSS vulnerabilities.

Main Features

  • Reflected and DOM XSS scanning
  • Multi-threaded crawling
  • Context analysis
  • Configurable core
  • WAF detection & evasion
  • Outdated JS lib scanning
  • Intelligent payload generator
  • Handmade HTML & JavaScript parser
  • Powerful fuzzing engine
  • Blind XSS support
  • Highly researched work-flow
  • Complete HTTP support
  • Bruteforce payloads from a file
  • Powered by Photon, Zetanize and Arjun
  • Payload Encoding

Documentation

FAQ

Gallery

DOM XSS

dom xss

Reflected XSS

multi xss

Crawling

crawling

Fuzzing

fuzzing

Bruteforcing payloads from a file

bruteforcing

Interactive HTTP Headers Prompt

headers

Hidden Parameter Discovery

arjun

Contribution, Credits & License

Ways to contribute

  • Suggest a feature
  • Report a bug
  • Fix something and open a pull request
  • Help me document the code
  • Spread the word

Licensed under the GNU GPLv3, see LICENSE for more information.

The WAF signatures in /db/wafSignatures.json are taken & modified from sqlmap. I extracted them from sqlmap's waf detection modules which can found here and converted them to JSON.
/plugins/retireJS.py is a modified version of retirejslib.