项目作者: grauwolf32

项目描述 :
Simple XSS scanner
高级语言: Python
项目地址: git://github.com/grauwolf32/xss_scanner.git
创建时间: 2016-12-28T12:58:28Z
项目社区:https://github.com/grauwolf32/xss_scanner

开源协议:

下载


XSS Scanner

XSS scanner based on Chromium.

  • This scaner can perform simple checks for Reflected XSS in GET/POST parameters. It looks for alert(1) to appear, and log all results in xss.log
  • When used with untrusted types it can monitor for DOM XSS. All console output from this pluggin is logged in ./chromedata/chrome_debug.log. Also can send postMessage to the current window with the DOM XSS keyword.
  • Could perform verification for the list of given urls with Reflected XSS in GET parameters
  • It can also extract variable names from Java Scrips on the page.

OPTIONS:

  1. --all - do checks for XSS in GET,POST parameters. Send postMessage with the dom xss keyword
  2. --get - do checks for XSS in GET parameters
  3. --post - do checks for XSS in POST parameters
  4. --pm - send postMessage
  5. --domxss - do additional checks for the dom xss
  6. --validate - validate urls from the given list. Should be used separately from --all, --get,--post params
  7. --save_images - save screenshoots while validation.
  8. --extractjs - add additional parameter names from js on the page
  9. --visible - run Chromium in visible mode
  10. --load_images - force scanner to load images on the page
  11. --proxy - specify proxy
  12. --cookies - load saved cookies
  13. --payloads - specify list with XSS payloads (i.e. ./xss_payloads)
  14. --variables - specify list with parameter names (i.e. ./params.list from ParamMiner Burp plugin)
  15. --urls - url list to check
  16. --url - single url to check
  17. --kill - (obsolete) kill all previus instances of chromedriver

You can also login on the target domains manually (to set auth Cookies, etc.) by running scaner with these parameters:
./xss.py —cookie —visible

After that you can use —cookie param to load saved cookies.

To perform post requests you have to run ./post-proxy.py.
It just creates clear page on the localhost, then scaner runs js in console and create form with required parameters, then click the form submit button and do post request.

INSTALLATION

Those Python packages are required:
selenium
flask
requests
lxml

You have to download Chromium Driver.
It version must correspond to the version of chromium-browser on your system
The path to the chromium-driver must be specified in ./settings.py