Skip to content
matthewD-AVI edited this page Jul 12, 2018 · 11 revisions

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?

This tool is the Attack Surface Detector, a plugin for OWASP ZAP. 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 so you view the results, or work with the detected endpoints and parameters from the target site map.

How it Works

The Attack Surface Detector uses static code analyses to identify web app endpoints by parsing routes and identifying parameters (with supported languages and frameworks).

Supported Frameworks:

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

Quick Start

  1. Install Attack Surface Detector plugin in OWASP ZAP
  2. Configure source code location in the options dialog
  3. Configure target URL in the options dialog
  4. Import endpoints