Giter VIP home page Giter VIP logo

auth_analyzer's Introduction

Auth Analyzer

Table of Contents

What is it?

The Burp extension helps you to find authorization bugs. Just navigate through the web application with a high privileged user and let the Auth Analyzer repeat your requests for any defined non-privileged user. With the possibility to define Parameters the Auth Analyzer is able to extract and replace parameter values automatically. With this for instance, CSRF tokens or even whole session characteristics can be auto extracted from responses and replaced in further requests. Each response will be analyzed and tagged on its bypass status.

Why should I use Auth Analyzer?

There are other existing Burp Extensions doing basically similar stuff. However, the force of the parameter feature and automatic value extraction is the main reason for choosing Auth Analyzer. With this you don’t have to know the content of the data which must be exchanged. You can easily define your parameters and cookies and Auth Analyzer will catch on the fly the values needed. The Auth Analyzer does not perform any preflight requests. It does basically just the same thing as your web app. With your defined user roles / sessions.

GUI Overview

(1) Create or Clone a Session for every user you want to test.

(2) Save and load session setup

(3) Specify the session characteristics (Header(s) and / or Parameter(s) to replace)

(4) Set Filters if needed

(5) Start / Stop and Pause Auth Analyzer

(6) Specify table filter

(7) Navigate through Web App with another user and track results of the repeated requests

(8) Export table data to XML or HTML

(9) Manually analyze original and repeated requests / responses

Auth Analyzer

Semi Automated Authorization Testing

If you have the resources you want to test in your sitemap, it is very easy and quick to perform your authorization tests. In the very first step define your sessions you want to test. Then just expand your sitemap, select the resources and repeat the requests through the context menu. Additionally you can define some options which requests should be repeated and which not. With this you can perform authorization tests of a complex website within seconds.

Parameter Extraction

The Auth Analyzer has the possibility to define parameters which are replaced before the request for the given session will be repeated. The value for the given parameter can be set according to different requirements.

Auto Extract

The parameter value will be extracted if it occurs in a response with one of the following constraints:

  • A response with a Set-Cookie Header with a Cookie name set to the defined Extract Field Name

  • An HTML Document Response contains an input field with the name attribute set to the defined Extract Field Name

  • A JSON Response contains a key set to the Extract Field Name

Per default the Auth Analyzer tries to auto extract the parameter value from all locations. However, clicking on the parameter settings icon lets you restrict the auto extract location according to your needs.

Auth Analyzer

From To String

The parameter will be extracted if the response contains the specified From String and To String in a line. The From-To String can be set either manually or directly by the corresponding context menu. Just mark the word you want to extract in any response and set as From-To Extract for the parameter you like.

Per default the Auth Analyzer tries to extract the value from header and body at most textual responses. However, clicking on the parameter settings icon lets you restrict the From-To extract location according to your needs.

Auth Analyzer

Static Value

A static parameter value can be defined. This can be used for instance for static CSRF tokens or login credentials.

Prompt for Input

You will be prompted for input if the defined parameter is present in a request. This can be used for instance to set 2FA codes.

Parameter Replacement

If a value is set (extracted or defined by the user) it will be replaced if the corresponding parameter is present in a request. The conditions for parameter replacements are:

Replacement Location

The parameter will be replaced if it is present at one of the following locations:

Auth Analyzer

  • In Path (e.g. /api/user/99/profile --> if a parameter named user is present, the value 99 will be replaced)

  • URL Parameter (e.g. email=hans.wurst[a]gmail.com)

  • Cookie Parameter (e.g. PHPSESSID=mb8rkrcdg8765dt91vpum4u21v)

  • Body Parameter either URL-Encoded or Multipart Form Data

  • JSON Parameter (e.g. {"email":"hans.wurst[a]gmail.com"})

Per default the parameter value will be replaced at each location. However, clicking on the parameter settings icon lets you restrict the location according to your needs.

Auth Analyzer

Parameter removement

The defined parameter can be removed completely for instance to test CSRF check mechanisms.

Sample Usage

Auto extract session Cookie

Define the username and password as a static value. The session cookie name must be defined as auto extract. Verify that you start navigating through the application with no session cookie set. Login to the web app. The Auth Analyzer will repeat the login request with the static parameters and automatically gets the session by the Set-Cookie header. This Cookie will be used for further requests of the given session. The defined Cookie will be treated as a parameter and therefore no Cookie Header must be defined.

Auth Analyzer

Hint: You can restrict the extract and replace conditions for a parameter to avoid malfunction at the extracting / replacing stage.

Auth Analyzer

Session Header and CSRF Token Parameter

Define a Cookie header and a CSRF token (with auto value extract). The CSRF token value will be extracted if it is present in an HTML Input Tag, a Set-Cookie Header or a JSON Response of the given session.

Auth Analyzer

Auto extract from JavaScript variable

Since the Auto Extract method only works on HTML Input Fields, JSON Objects or Set-Cookie Headers we must use the generic extraction method called From To String. With this extraction method we can extract any value from a response if it is located between a unique starting and ending string. The Auth Analyzer provides a context menu method to set the From String and To String automatically. Just mark the String you want to extract and set as From-To Extract by the context menu.

Auth Analyzer

Auto extract and insert a Bearer Token

Since the Authorization Header is not treated as a parameter (as it is done with the Cookie Header), we can use a header insertion point to achieve what we want. Just mark and right click the value you want to replace in the specified header. The defaultvalue will be used if no parameter value is extracted yet.

Auth Analyzer

Test several roles at a time

Just create as many sessions as you want to test several roles at a time.

Auth Analyzer

Refresh Auto Exracted Parameter Value

Just press Renew on the session status panel or repeat the affected request by the context menu (mouse right click in the table entry). Hint: The login request(s) can be marked and filtered afterwards.

Auth Analyzer

Test idempotent Operations

Original Requests can be dropped for testing idempotent operations (e.g. a DELETE function).

Auth Analyzer

Test anonymous sessions

If an anonymous user needs a valid characteristic (e.g., a valid cookie value) you have to define the header as usual. Otherwise, you can define a header to remove as follows:

Auth Analyzer

Test CORS configuration

You can easily test a large number of endpoints on its individual CORS settings by adding an Origin header at Header(s) to replace and select Test CORS on the Session Panel. By selecting Test CORS the Auth Analyzer will change the HTTP method to OPTIONS before the request is repeated

Auth Analyzer

Test CSRF Check mechanism

A specified parameter can be removed by selecting the Remove Checkbox. This can be used for instance to test the CSRF check mechanism.

Auth Analyzer

Verify the Bypass Status

The Auth Analyzer provides a build in comparison view to verify the differences between two responses. Just mark the message you want to analyze and change the message view (1). You are now able to compare the two requests (2) (3). The built in Diff Feature will calculate and show the differences between the two requests in real time (4) Auth Analyzer

Expanded Diff view:

Auth Analyzer

Processing Filter

The Auth Analyzer should process two types of requests / responses:

  • The response contains a value which must be extracted

  • The requested resource should not be accessible by the defined session(s)

For instance, we don’t want to process a static JavaScript file because it is accessible for everyone and (hopefully) does not contain any protected data. To achieve this, we can set following types of filters:

  • Only In Scope (only requests to the set Scope will be processed)
  • Only Proxy Traffic (only requests to the "Proxy History" will be processed)
  • Exclude Filetypes (specified Filetypes can be excluded)
  • Exclude HTTP Methods (specified HTTP Methods can be excluded)
  • Exclude Status Codes (specified Status Codes can be excluded)
  • Exclude Paths (specified Paths can be excluded)
  • Exclude Queries / Params (specified Queries / Params can be excluded)

Automated Response Analysis

  • The Response will be declared as SAME if Both Responses have same Response Body and same Response Code
  • The Response will be declared as SIMILAR if Both Responses have same Response Code and Both Responses have +-5% of response body length
  • The Response will be declared as DIFFERENT in every other case

Features

  • Session Creation for each user role
  • Renaming and Removing a Session
  • Clone a Session
  • Set any amount of Headers to replace / add
  • Set Headers to remove
  • Set any amount of parameters to replace
  • Define how the parameter value will be discovered (automatic, static, prompt for input, from to string)
  • Remove a specified parameter
  • Detailed Filter Rules
  • Detailed Status Panel for each Session
  • Pause each Session separately
  • Renew Auto Extracted Parameter Value automatically
  • Repeat Request by context menu
  • Table Data Filter
  • Table Data Export Functionality
  • Start / Stop / Pause the "Auth Analyzer"
  • Pause each Session seperatly
  • Restrict session to defined scope
  • Filter Requests with same header(s)
  • Drop Original Request functionality
  • Detailed view of all processed Requests and Responses
  • Send Header(s) and / or Parameter(s) directly to Auth Analyzer by Context Menu
  • Auto save current configuration
  • Save to file and load from file current configuration
  • Search function in repeated requests
  • Semi Automated Authoriztaion Testing

auth_analyzer's People

Contributors

b611 avatar hannah-portswigger avatar portswiggersupport avatar simioni87 avatar uthmanportswigger avatar zrquan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

auth_analyzer's Issues

Built-in Anonymous

For ease-of-use sake, could you please consider implementing an anonymous session feature, where the extension would be checking for unauthenticated requests?

Alternatively, how could this be achieved with Authorization Bearer?

Thanks,
Alex

[Feature request] - User supplied extra rules for difference algorithm

Hi folks!

Basically this would be a new option where the user could enter a couple of rules that would complement or override the checks used to consider if something is different or not. A quick example would be this:

  • Response length is somewhat similar
  • The response codes are different (original request 200 vs 204)

The user could then append a rule saying if request_1 == 200 & if request_1 == 204 -> vulnerable

This could be iterated to also tweak the response length / difference analysis (that I'm not sure how it is done right now); so assuming it's something like if 95% equal -> vulnerable, the user could tweak the 95% to be e.g. 80%.

Just an idea, the extension already works perfectly. Thanks!

Match-Replace only works on single instance

Match and Replace only replaces one occurrence of the matched value. Let's suppose, user-id in my request occurs 2 times but match and replace will only replace the first instance of the user-id.

Case Insensitive parameter value

Do we already have a support for parameter values which are case insensitive or can we add this feature in the upcoming upgrade? As of now, for any parameter to match, I have to write all the possible cases for the parameter, as can be seen in the screenshot .
Screenshot 2021-02-24 at 11 00 16 AM

Extra requests when "Stop Drop Requests" is enabled for non-Proxy traffic

Not sure if I found a bug or totally misunderstood what should happen. Here's the details...

How to reproduce:

  • disable "Only proxy traffic"
  • enable "Stop Drop Requets"
  • go to Repeater, emit a request
  • check the extension tab and/or Loger++ logs

Outcome:

  • two entries in the extension logs tab, the first one displaying "No response to show" for the unmodified request
  • three exchanges in Logger++ (1 from Repeater, 2 from the extension)

Expected outcome:

  • one entry in the extension logs tab, displaying "No response to show" for the unmodified request
  • one exchange in Logger++ (from the extension)

Possible workaround: I could use "Repeat Request" from the extension contextual menu as a work-around (I tried, no extra requests are sent). Only problem: I can't map this action to a shortcut unlike Repeater's Send button. Efficiency--

And thanks for the extension!

Feature request: easier navigation when in expanded diff view

Hello,

when reviewing results, I like to expand the diff view in order to maximise visible information. Currently, the expanded view doesn't allow to switch between sessions. So I have to collapse the view, switch to the new context, then re-enable the expanded view. Distracting and time-consuming...

I'd like to have a button, visible only in expanded view, where I can switch from ORIGINAL/SESSION1 to ORIGINAL/SESSION2 or ORIGINAL/SESSION3. Would that make sense?

In an ideal world, this action (switching to another pair) would also be associated to Left / Right when the logs table is focused (I'm not even sure that's possible).

Thanks for the extension, the more I dig in the more I appreciate it!

Issue when parsing cookie

Hello!

The following response:

HTTP/2 302 Found
Vary: Origin
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Set-Cookie
Strict-Transport-Security: max-age=31536000;includeSubDomains;preload
X-Content-Type-Options: nosniff
X-Xss-Protection: 1; mode=block
Set-Cookie: xsrf-token=aa7b0494-9f22-XXX; Path=/new; Secure; SameSite=None
X-Frame-Options: SAMEORIGIN
Location: /REDACTED
Content-Length: 0
Date: Fri, 04 Mar 2022 16:21:17 GMT

Is not being picked up by the tool. Could this be due to the fact that there's a Set-Cookie value before this?

EDIT: My session looks like this:
image

HTTP/2 requests not supported

Hello,

Hope you are well and thanks for your awesome plugin.

While testing with it recently I have noticed that although the first request is made using HTTP/2 protocol and its successful, the repeated tampered request with the different JWT auth session fails with the following return message:

HTTP/1.1 505 HTTP Version Not Supported

Seems like the extension sends the request using only HTTP/1.1?

Could you please have a look?
Hope its an easy fix.

Thanks! :)

Response Length Difference column

Hi!

Many times one telltale sign of a authorization issue is when the response length difference from request A and request B is the same (or very similar). This applies when the server responds 200 OK and only differs in the actual response (e.g. json output).

The suggestion is to add a new response length difference column on the main table:
image

This would be super helpful!
To increment this feature and to distinguish from other tools out there, I would allow the ability to set a "offset" of what is tolerable as vulnerable or not. e.g., an offset of 10 bytes means that if the response length difference was between -10 < X < +10 would still be considered an issue.

Thanks!

Suggestion: send request to Auth Analyzer even if Analyzer is stopped

Hi! Sometimes it would be very useful if we could send an item to the Analyzer even if it is stopped. Basically the context menu from Proxy is already there, however we can only send it when the Analyzer is running; which sort of makes sense. However, if there is a session configured, maybe we could send that particular request - it would be processed by the extension, but if you continue the browsing the analyzer would still be paused.

Does this make sense? Would make easier some flows, e.g. I often only want to test one request from time to time and this way I can send it directly, otherwise I have to go to the extension tab, start it, switch to proxy, send it, switch to extension again and then stop the analyzer 😬

Problems with HTTP/2

Hi, during the first use of your nice tool I got problems with a web app using HTTP/2. The modified response always returned an HTTP not supported error. Replaying the same request in Repeater didn't give that error message.

When I disabled HTTP/2 in Project Options - HTTP your tool gave the correct results.

Thanks,

Erwin

Supporting URL deduplication

Hi @simioni87 !

One thing that happens very frequently when doing access control testing is testing the same URLs over and over again. It would be super helpful if the extension supported a very simple URL de duplication feature; so, if ON, a request that has already been processed by Auth Analyzer (e.g. it's already on the results table) would be ignored.

Even a very basic support of this - e.g. really just comparing a GET request if it's exactly the same (not taking in consideration ?parameters for example) would be a huge help.

Thanks!

Issues with replacement not working

Using 1.1.13 and have configured a CSRF match which is working fine as can see the value being populated in the header i've specified.

image

The problem is its not replacing the Parameter found in the following Multipart request body. Not shown in the image above is that its just a POST request.

image

Am i missing something or should the _csrf be replaced with my value ?
thanks

Export Table Data with Dropped Requests

If you try to export table data which contains at least one dropped request, it ends with an error and HTML/XML file is not created.

2022-01-13_17-05-37

Export as HTML - Stacktrace:

java.lang.NullPointerException: Response cannot be null
	at burp.bp.analyzeResponse(Unknown Source)
	at burp.cyn.analyzeResponse(Unknown Source)
	at com.protect7.authanalyzer.util.DataExporter.createHTML(DataExporter.java:136)
	at com.protect7.authanalyzer.gui.dialog.DataExportDialog.<init>(DataExportDialog.java:113)
	at com.protect7.authanalyzer.gui.main.CenterPanel$1.run(CenterPanel.java:132)
	at java.base/java.lang.Thread.run(Thread.java:831)

Export as XML - Stacktrace:

java.lang.NullPointerException: Response cannot be null
	at burp.bp.analyzeResponse(Unknown Source)
	at burp.cyn.analyzeResponse(Unknown Source)
	at com.protect7.authanalyzer.util.DataExporter.createXML(DataExporter.java:46)
	at com.protect7.authanalyzer.gui.dialog.DataExportDialog.<init>(DataExportDialog.java:117)
	at com.protect7.authanalyzer.gui.main.CenterPanel$1.run(CenterPanel.java:132)
	at java.base/java.lang.Thread.run(Thread.java:831)

The issue is caused by an attempt to process empty response (as the original request has been dropped).
Could you fix that please?

Thank you,
Daniel

Issues while updating GET parameter

I am testing an application that is using a session-id provided in a GET parameter (Yeah, should not be used anyway but oh well.. )

I tried to setup a session that should only replace this one URL parameter with a static value (the session of the low-priv user).
I can browse the app but the extension does not seem to replace the URL parameter.

burp_auth_ext_plugin_issue_1

Above is what we intially setup.

Following are the orig. and the request that should have been edited.

burp_auth_ext_plugin_issue_2_mod

The request, where the session-id should have been replaced with the low priv. user's id
burp_auth_ext_plugin_issue_3_mod

What am I doing wrong or is this some weird burp issue ?

Possible bug replacing path values

Hi @simioni87!

First of all thank you for this extension - it's really well done. I'm trying to use it for my to day operations but came across a problem replacing path values.

Say I have a request to :
GET /api/v1/user/12345/details
and want to replace it with:
GET /api/v1/user/admin/details

For this to work I was trying to use the static value replacement, e.g.:
image

This should work right? However, it's turning it into:
image
(that is GET /api/v1/smart/users/12345/admin/1.1)

Maybe this is a bug or am I doing something wrong?

Thanks!

Feature Request: Export Table Data to a file and Import to Burp

Hi there,

Thank you for this awesome tool!

It's has been very useful to me.

Just wonder if you could add in a feature where I could export table data to a file?
And subsequently import that file containing the table data into burp to view table data within auth_analyzer tab again?

I feel that would be very useful.

Thank you!

UI Tweaks

Further to my previous ticket for an authentication matrix, I came up with this new idea. How about being able to set the current User context, let me try to explain.

Let's say I have the following user roles:

  • Admin
  • Operator
  • User

The process would be the following:

  1. I configure the extension with the relevant users and their association JWT token/session cookie
  2. I manually craw the application as the Admin having access to endpoints and feature limited to this role
  3. I do the same with the Operator
  4. I do the same with the User

When crawling under the user roles listed above, there should be an option in the UI like a checkbox to select the current user roles for intercepted requests, this would cause the relevant column in the matrix table to be set to something like N/A or Select Context. This would create a compIete matrix of all available endpoints/features and the access rights of each configured users.

Exporting this as a CSV table and putting it in a pentest report would add a lot of value to customers. Also, this option would be amazing and simplify privileges escalations checks.

Please let me know what you think of this feature.

Note: In this case there will be no need for the drop original request button as the original request will be the one associated with the selected user context.

Path parameter extract breaks if it's the final parameter

I'm testing an API which uses UUIDs in the URL, which I'm replacing. However, if the URL ends with a parameter without a trailing /, the request gets corrupted. For example:

Original request:

GET /api/account/52983d28-c02c-4e93-9930-d099bc35e795/goal/44c74981-77b3-4bb6-bb3d-183917c6b21d HTTP/1.1
Host: ...

Using Auth Analyzer to replace the account and goal parameters generates this request:

GET /api/account/219e18eb-782b-4d9c-b820-c2e9d385e86b/goal/4763ae23-8c4c-4313-9ed1-2040755d27b6/1.1
Host: ...

It is splitting the parameter up to the / in HTTP/1.1, instead of breaking at the preceding space.

Send the edited request before the original request

When you working with the DELETE/PUT method to delete/update somethings, but if the original sent first, the record is gone so the edited request will fail. It would be nice if auth_analyzer have this option :D

The option to *regex match and replace* parts of the request without relying on parameter

I often find myself in situations where I want to replace a string in some part of request which has no parameter. It'd be great to have such a feature where you can have the request in separate parts(i.e the first line, all the headers, body) as strings and regex match replace them without relying on parameters.

P.S AutoRepeater also had such features which are currently dead.

Feature Request: Include Comment Column in Export Table Data

First of all amazing plugin! Thank you for the work.

Secondly, I noted that when exporting the data to an HTML or XML document, it is not possible to select and export the "Comment" column. This would be really useful as it could add additional information for the pentester when parsing the data from the file.

Future request

Can you add the option:

  1. To add a list of hosts/domains to pass through auth_analyzer. For example, I may be playing with API endpoints in like 5 domains and the table gets populated with data from domains I'm not testing.

  2. Include the option to send the request a selected number of times. for example, i may want to send each request at most two times then to repeater.

Feature Request: Null as Parameter Value

Hi simioni87,

I have some test cases where I want a specific parameter to be replaced by a null value.

I tried setting it as the following:

param(Static Value)
Value:

but the request body(in jSON) becomes:

{
"param": ""
}

I hope you can also introduce another option called Null as Parameter Value so that the output becomes:

{
"param": null
}

Thank you so much for this wonderful Burp extension!

Enhancement - Differentiation of 302 based on the Location header

Hi there,

Currently (at least with the latest app available in Burp App Store) two 302 responses will be considered and shown as "SAME" in the result tab.

During my testing, I often see the case where two requests will receive 302, but for different reasons:

  • the original request, for example to modify a profile page, will receive a 302 for the user to go back to the profile page.
  • the other, modifed request will not be authorized but it will receive a 302 to the login page.

These pairs of requests/responses will appear in the result tab as "SAME". Ideally, an additional filter should be implemented to look at the "Location" header content. If these headers are different, the responses should be shown as "SIMILAR" or "DIFFERENT" but not "SAME".

Amazing work by the way, I really like your extension ! Thanks a lot !

Cheers,

A.

Authentication Matrix

When testing for multiple user roles, there are usually distinctive features set available to each role and we (as pentester) usually want to test each individual role.

To illustrate what I suggest let's say we have three (3) distinct roles:

  • Admin
  • Doctor
  • Client

A thorough test would be to set the tokens for each role and then start manually interacting with the application.

In this case three (3) different, left panel view (request and bypass) should be generated as we would want to test as an admin, can doctors and clients repeat the request, then we want to test the application as a Doctor and check if Admins and Clients can repeat the requests.

In short what we want is a matrix.

Sorry if I have not been super clear, happy to elaborate on this if needed.

Kind regards,
Alex

Could not set header to null(blank)

Hi simioni87,

First of all, thank you for this awesome tool!

I've been using your tool for a while and I just got some problem setting the header's value to null (blank).

I have this header called X-token, I want this header to remain on the request but with a blank value.

I tried the following setup

X-token: �token[blank]�

token(Remove: true)
Value: null

But on the modified request, it is always converted to

X-token: blank

I also tried setting it up as

X-token: //no parameter
X-token: �token[]� //no character in-between []
X-token: �token[ ]� //whitespace  in-between[]
X-token: �token[blank]�

token(Remove: false, Extraction: Static Value, Value: )
Value: //whitespace value

But it all ended up using the X-token from the original request.

Can you help me with this, please?

Best regards,

Send from the logger

Hey , simioni87 , I can’t find the option to send to auth_analyzer on the logger, but I can find the option to send to other plugins. could you please add the functionality to receive requests from the logger? There's a scenario where can use other plugins to batch parse api docs like swagger-ui, insert default parameters, and then forward them in bulk to auth_analyzer for preliminary validation of unauthorized and privilege escalation requests.

Option to disable URL encoding

Hi!
I want to replace a parameter value with a string containing a dollar sign "$". Auth Analyzer url encodes the dollar sign with "%24". In my case, the dollar sign is part of a password inside a JSON body, therefore the authentication fails due to the encoding.
It would be awesome to device in the parameter replacement options do enable/disable the url encoding :)

Rework Request/Response View

Hi @simioni87

Super extension, just a small suggestion would be to make the request/response view (right panel) less visually heavy. This could be done by using a hierarchy, top level would be request and response and when selecting one of those two options then the different user roles request/response would be displayed.

Also, you should have a look at the Autorize extension which use an expand/collapse view. Also, with the latest version of Burp and the split panel there could be more visually pleasing alternatives to my suggestion. Other than that super work, will keep opening tickets if I can think of other improvements.

Best regards,
Alex

EDIT: This is what I mean by simplifying the view.

image

how about add "Parameter Addition" function

Hello Simioni87,nice to meet u !!!
I have used auth_analyzer for a long time and it is really a great burp extension for pentersters ! ! ! But i have a problem that why not add the "Parameter Addition" function because u have realized the function of "Parameter Replacement". There are sevel scene for this addition function,such as hidden debug mode,for example some developper like to add "debug=1" in request(url post-param json-param etc) when write code but delete it in frontend,but the debug mode still exist and sometime it may cause some problem. In this scene, auth-analyzer can't add Parameter when origin request is not existed a parameter named "debug" so i have to add it in processhttpmessage before auth-analyzer's code. Perhaps u could think about to add this function hahahaha. it is really happy to use your auth_analyzer ^=^

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.