Code Monkey home page Code Monkey logo

burp-scope-monitor's Introduction

Burp Scope Monitor Extension

A Burp Suite Extension to monitor and keep track of tested endpoints.

Main Features

  • Simple, easy way to keep track of unique endpoints when testing an application
  • Mark individual endpoints as analyzed or not
  • Instantly understand when a new endpoint, not tested is requested
  • Accessible from Proxy tab (right click, mark request as analyzed/not)
  • Send to Repeater
  • Enforcement of Burp's in scope rules
  • Import/Export state file directly to a CSV file for
  • Autosave option

Installation

  1. Make sure you have Jython configured under Extender -> Options -> Python Environment. For further instructions, check PortSwigger official instructions at their support page.
  2. git clone [email protected]:Regala/burp-scope-monitor.git
  3. Import main.py in Extender - Extender -> Extensions -> Add -> Select Python -> Select main.py

Documentation

Most of the options available in General or Import tabs are auto-explanatory.

  • "Repeater request automatically marks as analyzed" - when issuing a request to an endpoint from repeater, it marks this request as analyzed automatically.
  • "Color request in Proxy tab" - this essentially applies the behavior of the extension in the Proxy tab, if you combine these options with "Show only highlighted items" in Proxy. However, it's not as pleasant to the eyes as the color pallete is limited.
  • "Autosave periodically" - backups the state file every 10 minutes. When activating this option, consider disabling "Autostart Scope Monitor". This is in order to maintain a different state file per Burp project. However, you can easily maintain only one, master state file.
  • "Import/Export" is dedicated to handle the saved state files. It's preferred to open your Burp project file associated with the Scope Monitor. It will still work if the Burp project is different, but when loading the saved entries, you won't be able to send them to Repeater or view the request itself in the Request/Response viewer (this is due to the fact that we are not storing the actually requests - just the endpoint, it's analyzed status and a couple of other more. This makes it a little bit more efficient).

Future Development

  • Keep track of parameters observed in all requests
  • Highlight when a new parameter was used in an already observed/analyzed endpoint
  • Export to spreadsheet / Google Sheets
  • Adding notes to the endpoint

Implementation

The code is not yet performant, optimized or anything similar. KISS and it works. Performance will be increased depending on demand and how the extension performs when handling large Burp projects.

To circumvent some of Burp's Extender API limitations, some small hacks were implemented. One of those is automatically setting a comment on the requests that flow in the Proxy tab. You can still add comments on the items, as you'd normally would, but just make sure to keep the placeholder string (scope-monitor-placeholder) there. Hopefully in the future each requestResponse from Burp will have a unique identifier, which would make the import state / load from file much cleaner and fast. With large state files, this might hang a bit when loading.

Contributing

I welcome contributions from the public, from bug reports, feature suggestions and pull requests.

Using the issue tracker ๐Ÿ’ก

The issue tracker is the preferred channel for bug reports and features requests.

Issues and labels ๐Ÿท

The bug tracker utilizes several labels to help organize and identify issues.

Guidelines for bug reports ๐Ÿ›

Use the GitHub issue search โ€” check if the issue has already been reported.

Known bugs:

  • Sometimes when switching from "Show All" to "Show New Only" Burp hangs/crashes. If you encounter this behavior please let me know how you reproduce it.
  • Manually marking requests as analyzed from the main extension UI tab doesn't apply colors in the proxy
  • The import/export function often makes Burp freeze (it unfreezes after a while) so this needs a review, probably has something to do with the locks

Special Thanks

  • BlazeIt team
  • BBAC
  • HackerOne

burp-scope-monitor's People

Contributors

regala avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.