The Web Audit Search Engine - Index and Search HTTP Requests and Responses in Web Application Audits with ElasticSearch
Switch branches/tags
Nothing to show
Clone or download
thomaspatzke Elasticsearch 6.x support
Tested with recent 6.4.1 release
Latest commit 95bc490 Sep 21, 2018
Permalink
Failed to load latest commit information.
.gitignore
ElasticBurp.py
LICENSE
README.md Adding a requirements file for the proxy and updating the README.md w… Mar 15, 2017
WASEHTMLParser.py
WASEProxy.py
WASEQuery.py
doc_HttpRequestResponse.py
queries.txt
requirements-proxy.txt
requirements.txt Added requirements and changed installation instructions Feb 8, 2017
test.py
waseproxy.service

README.md

WASE

WASE is a shortcut for Web Audit Search Engine. It's a framework for indexing HTTP requests/responses while web application audits in an ElasticSearch instance and enriching it with useful data. The indexed data can then be searched and aggregated with ElasticSearch queries or with Kibana.

Currently WASE contains the following parts:

  • doc_HttpRequestResponse.py: a library that implements the DocHTTPRequestResponse class. This class is an elasticsearch_dsl-based storage class of HTTP requests/responses (derived from Burps data structures and API).
  • ElasticBurp: a Burp plugin that feeds requests/responses into ElasticSearch.

ElasticBurp

Scared about the weak searching performance of Burp Suite? Are you missing possibilities to search in Burp? ElasticBurp combines Burp Suite with the search power of ElasticSearch. It can be installed directly from the Burp BApp Store.

Installation

  1. Install ElasticSearch and Kibana.
  2. Configure both - For security reasons it is recommend to let them listen on localhost:
  • Set network.host: 127.0.0.1 in /etc/elasticsearch/elasticsearch.yml.
  • Set host: "127.0.0.1" in /opt/kibana/config/kibana.yml.
  1. Install dependencies in the Jython environment used by Burp Extender with: $JYTHON_PATH/bin/pip install -r requirements.txt
  2. Load ElasticBurp.py as Python extension in Burp Extender.

Currently there seem to be incompatibilities with the new Python Elasticsearch packages. Specify the 2.2 version when installing with pip: $JYTHON_HOME/bin/pip install elasticsearch_dsl==2.2

Usage

See this blog article for usage examples.

WASEProxy

A generic intercepting HTTP(S) proxy server that stores extracted data into an ElasticSearch index.

Installation with pip: pip install -r requirements-proxy.txt

WASEQuery

Search ElasticSearch indices created by WASE for

  • responses with missing headers
  • responses with missing parameters
  • all values that were set for a header (e.g. X-Frame-Options, X-XSS-Protection, X-Content-Type-Options, Content-Security-Policy, ...)

...or do arbitrary search queries.

Invoke WASEQuery.py for help message. This blog article shows some examples for usage of WASEQuery.