PortSwigger / burp-extensions-montoya-api

Burp Extensions Api
Other
139 stars 5 forks source link

Feature request: CRAWLER in ToolType Enum #35

Closed floyd-fuh closed 1 year ago

floyd-fuh commented 1 year ago

As an extension developer I am interested to make a distinction between CRAWLER and SCANNER requests. Currently, both are flagged as SCANNER ToolType Enum:

https://portswigger.github.io/burp-extensions-montoya-api/javadoc/burp/api/montoya/core/ToolType.html

Not that important, but here's why: My use case is that I wrote an extension that does the Live Task of "Actively scan all in-scope traffic through Burp", but much better and a lot more user feedback. But instead of only the Proxy I would also like the option to leverage the Crawler. I do deduplication in my extension. However, if I scan everything that is incoming as SCANNER, I also scan requests where the scanner e.g. added a random URL parameter. Additionally, as my extension will send the requests to the scanner again, there is a potential for an endless loop as the request will come in as SCANNER again. More infos on my extension if you need it: https://github.com/PortSwigger/pentagrid-scan-controller https://www.pentagrid.ch/en/blog/improving-web-application-security-testing-with-pentagrid-scan-controller/

Hannah-PortSwigger commented 1 year ago

Thanks for the feedback!

We can't split the SCANNER ToolType to distinguish between crawling and auditing, as all the traffic is originating from the single Scanner tool.

After some discussion, we could raise a feature request to supply various metadata information with requests that could contain more information about the request (such as Scan phase). This would be a large amount of work, and we cannot provide a timeframe for when this would be available, but would you be interested in raising this feature request instead?

floyd-fuh commented 1 year ago

Hi Hannah, indeed that would be very helpful. Thanks for raising the feature request. Good to know that I'll have to work around it for the time being.

Btw. really appreciate that there is a single place for extension API feature requests here on github!