Skip to main content

xsscrapy-Find cross site scripting

Fast, thorough, XSS/SQLi spider. Give it a URL and it'll test every link it finds for cross-site scripting and some SQL injection vulnerabilities. See FAQ for more details about SQLi detection.

Requirement's

  • Linux
  • Git package
  • Python package

How to Install and use

From within the main folder run:
./xsscrapy.py -u http://example.com
If you wish to login then crawl:
./xsscrapy.py -u http://example.com/login_page -l loginname
If you wish to login with HTTP Basic Auth then crawl:
./xsscrapy.py -u http://example.com/login_page -l loginname --basic
If you wish to use cookies:
./xsscrapy.py -u http://example.com/login_page --cookie "SessionID=abcdef1234567890"
If you wish to limit simultaneous connections to 20:
./xsscrapy.py -u http://example.com -c 20
If you want to rate limit to 60 requests per minute:
./xsscrapy.py -u http://example.com/ -r 60
XSS vulnerabilities are reported in xsscrapy-vulns.txt

Dependence

wget -O https://bootstrap.pypa.io/get-pip.py
python get-pip.py 
pip install -r requirements.txt
May need additional libraries depending on OS. libxml2 libxslt zlib libffi openssl (sometimes libssl-dev)

Tests

  • Cookies
  • User-Agent
  • Referer
  • URL variables
  • End of URL
  • URL path
  • Forms both hidden and explicit

FAQ

  • If it gives an error : ImportError: cannot import name LinkExtractor. This means that you don't have the latest version of scrapy. You can install it using: sudo pip install --upgrade scrapy.
  • It's called XSScrapy, so why SQL injection detection too? There is overlap between dangerous XSS chars and dangerous SQL injection characters, namely single and double quotes. Detecting SQL injection errors in a response is also simple and nonCPU-intensive. So although 99% of this script is strongly geared toward high and accurate detection of XSS adding simple SQL injection detection through error message discovery is a simple and effective addition. This script will not test for blind sql injection. Error messages it looks for come straight from w3af's sqli audit plugin.

GITHUB

Comments

Post a Comment

Popular posts from this blog

Sslyze-analyze the SSL configuration of a server by connecting to it

 What is SSLyze? SSLyze is a Python tool that can analyze the SSL configuration of a server by connecting to it. It is designed to be fast and comprehensive, and should help organizations and testers identify mis-configurations affecting their SSL servers. Feature of Sslyze Multi-processed and multi-threaded scanning (it’s fast) SSL 2.0/3.0 and TLS 1.0/1.1/1.2 compatibility Performance testing: session resumption and TLS tickets support Security testing: weak cipher suites, insecure renegotiation, CRIME, Heartbleed and more Server certificate validation and revocation checking through OCSP stapling Support for StartTLS handshakes on SMTP, XMPP, LDAP, POP, IMAP, RDP and FTP Support for client certificates when scanning servers that perform mutual authentication XML output to further process the scan results How to install sslyze Just you type this below command in your terminal this command's will help you to install sslyze on your computer and termux. Linux sudo apt-get install ssl...

xprobe2 - A Remote active operating system fingerprinting tool

What is Xprobe2? xprobe2 - A Remote active operating system fingerprinting tool xprobe2 is an active operating system fingerprinting tool with a different approach to operating system fingerprinting. xprobe2 relies on fuzzy signature matching, probabilistic guesses, multiple matches simultaneously, and a signature database. The operation of xprobe2 is described in a paper titled " xprobe2 - A 'Fuzzy ' Approach to Remote Active Operating System Fingerprinting" Option's How to install Xprobe2 First you need to open your terminal after that you type this below command in your terminal this command will help you to install this xprobe2 package. Linux sudo apt install xprobe Termux pkg install xprobe How to use xprobe Just use this below command or see this below image. sudo xprobe2 ( Domain name ) Example's xprobe2 -v -D 1 -D 2 192.168.1.10 Will launch an OS fingerprinting attempt targeting 192.168.1.10. Modules 1 and 2, which are reachability tests, will be di...

Root android phone with one click without computer

 What is framaroot? Framaroot is a free android app which can root almost every device in one click without any need of PC/Computer. Framaroot has its own complex exploits which vary from device to device according to its chipset model and android version. In newer versions of Framaroot, you can unroot your android phone in one click too Feature of Framaroot Root android phone with one click Install SuperSu Unroot or execute Advanced user How to Download and install Framaroot First you download framaroot application on your android phone so click this below download button. Now Install it with a file explorer or directly from your internet browser, if android warn you about security risk, say OK and check Unknown sources to allow install of applications outside of Play Store. How to use Open your Framaroot and select one of the following action: Install SuperSU, Unroot or Execute script (for advanced users) Possible case once application is launched A popup saying "Your device see...