Difference between revisions of "OWASP Attack Surface Detector Project"

From OWASP
Jump to: navigation, search
m (added logo)
(adds youtube vide to main body. text edits.)
Line 11: Line 11:
  
 
==What is the Attack Surface Detector?==
 
==What is the Attack Surface Detector?==
==== Attack Surface Detector ZAP and Burp Plugins====
+
The Attack Surface Detector tool figures out the endpoints of a web application, the parameters these endpoints accept, and the data type of those parameters. This includes the unlinked endpoints a spider won't find in client-side code, or optional parameters totally unused in client-side code. It also has the capability to calculate the changes in attack surface between two versions of an application.<br><br>
<span style="color:#000000">
+
The Attack Surface Detector is available as a plugin to both OWASP ZAP and Burp Suite, and a Command Line Interface (CLI) tool. The CLI tool exports the attack surface as a JSON output, which can then be used by the ZAP and Burp Suite plugin. This is helpful for cases where the source code is not provided to the penetration tester directly. The CLI tool can also be used for other custom integration where you want to discover an application attack surface or changes in the attack surface.<br><br>
This tool is the Attack Surface Detector, a plugin for OWASP ZAP and PortSwigger Burp Suite. This tool figures out the endpoints of a web application, the parameters these endpoints accept, and the data type of those parameters. This includes the unlinked endpoints a spider won't find in client-side code, or optional parameters totally unused in client-side code. The plugin then imports this data into ZAP or Burp so you view the results, or work with the detected endpoints and parameters from the target site map.<br>
+
For a quick overview of the Attack Surface Detection tool, see this YouTube video.
  
[[File:ASD-Endpoint-Screens.png|center|thumb|628x628px]]
+
{{#ev:youtube|jUUJNRcmqwI}}
 
 
==== Attack Surface Detector Command Line Interface====
 
<span style="color:#000000"> The attack-surface-detector-cli program is a command-line tool that takes in a folder location and outputs the set of endpoints detected within that codebase. It uses the ASTAM Correlator's threadfix-ham module to generate these endpoints. The endpoints are output to the console by default, and can save a JSON version of those endpoints through the -output-file and -json flags. This JSON output can then be imported by the OWASP ZAP and Burp plugins allowing the user to use the built in functionality of these proxy tools. <br>
 
</span>
 
  
 
==How it Works==
 
==How it Works==

Revision as of 13:53, 6 September 2018

OWASP Project Header.jpg

Asd-logo.png

Introduction

During web application penetration testing, it is important to enumerate your application's attack surface. While Dynamic Application Security Testing (DAST) tools (such as Burp Suite and ZAP) are good at spidering to identify application attack surfaces, they will often fail to identify unlinked endpoints and optional parameters. These endpoints and parameters not found often go untested, which can leave your application open to an attacker.

What is the Attack Surface Detector?

The Attack Surface Detector tool figures out the endpoints of a web application, the parameters these endpoints accept, and the data type of those parameters. This includes the unlinked endpoints a spider won't find in client-side code, or optional parameters totally unused in client-side code. It also has the capability to calculate the changes in attack surface between two versions of an application.

The Attack Surface Detector is available as a plugin to both OWASP ZAP and Burp Suite, and a Command Line Interface (CLI) tool. The CLI tool exports the attack surface as a JSON output, which can then be used by the ZAP and Burp Suite plugin. This is helpful for cases where the source code is not provided to the penetration tester directly. The CLI tool can also be used for other custom integration where you want to discover an application attack surface or changes in the attack surface.

For a quick overview of the Attack Surface Detection tool, see this YouTube video.

How it Works

The Attack Surface Detector Implements the HAM engine to perform static code analyses to identify web app endpoints by parsing routes and identifying parameters (with supported languages and frameworks). This data is made available in Burp Suite and OWASP ZAP​

Supported Frameworks

C# / ASP.NET MVC
C# / Web Forms
Java / Spring MVC
Java / Struts
Java JSP
Python / Django
Ruby / Rails

Licensing

The Attack Surface Detector plugin is free to use. It is licensed under the link Mozilla Public License 2.0.

Getting Involved

Contributions to the Attack Surface Detector project are encouraged and welcome. Additions of new features and enhancements can be provided through GitHub. We encourage users to assess the technology through individual evaluations, pilots and/or case studies.

Project Resources

ASD Plugin for OWASP ZAP:

ASD ZAP Home Page

ASD ZAP Wiki

Install Attack Surface Detector

Source Code Configuration

Target URL Configuration

Import Endpoints

Issue Tracker

ASD Survey

ASD Plugin for PortSwigger Burp:

ASD Burp Home Page

ASD Burp Wiki

Install Attack Surface Detector

Source Code Configuration

Target URL Configuration

Import Endpoints

Issue Tracker

ASD for Burp Video

ASD Survey

ASD command-line tool:

ASD CLI Home Page

ASD CLI Wiki

Building from Source

Usage, Parameters and Output

Issue Tracker

Project Leader

Ken Prole

Email: ken.prole@securedecisions.com

Related Projects

Classifications

New projects.png Owasp-breakers-small.png
Owasp-defenders-small.png
Project Type Files TOOL.jpg