Giter VIP home page Giter VIP logo

Comments (13)

simioni87 avatar simioni87 commented on May 27, 2024

Maybe I do not understand the use case, but I am still sure that you are able to do exactly the same stuff with the current implementation. In addition to the possibility to set a specific session to pause, you are able to check "Filter Requests with same Header(s)". Means if you are navigating through the web app, the requests are not repeated if for instance the same session cookie is set.

The Drop Original Request Function does really drop the Original Request. If this feature is activated the web app will of course not work as expected because all your requests will be dropped. Furthermore, there is no possibility to compare the Original Response with the Repeated One, because you don't have an Original Response... Activating this feature for general purposes would mean that the Auth Analyzer cannot be used as intended at all.

Please let me know if there is a missunderstanding from my side.

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

Thanks so much for this explanation this could indeed work, I need to test that!

Btw the extension is getting better and better, I would say some UI tweaks/improvements are well needed, see the buttons on the left and right side and the alignements of the different sections:

image

A few ideas for UI improvements (I am not designer so to take with a pinch of salt):

  • There is a lot of Excludes (Filetypes, Path, Status Code, etc.), maybe there could be a more elegant way of displaying these options, maybe two input fields with type (Filetype, Path, etc.) and value or a drop-down menu or whatever is best for UX rather than all these checkboxes.
  • And a few Only in (Proxy Traffic and in Scope), in a similar fashion than the point above could have an Include section with the above recommendations.
  • Making all the buttons of the same size with centred text and leaving some bottom margin between each button.
  • Could maybe add some colours to important button (the orange #D86633 used by burp would be nice) to emphasis important buttons/actions.
  • For the Pause button, could be put just below Analyzer Running/Stopped and relabelled as Pause Analyzer/Resume Analyzer for the other button could be relabelled as Start Analyzer/Stop Analyzer.
  • If all these configuration options dont fit in the single view, you could have multiple tabs only applying to the top section of the UI (meaning that the table and requests at the bottom would always be visible), could be called session and configuration tabs.
  • There is too much padding for around the view, for small laptop screen (like my tiny fifteen inches screen) that's some pixel real estate lost, consider dividing the current value 2 or 3.
  • NA should be N/A

image

  • For the above, consider putting a vertical divider between the options on the left and right or else center everything with a left/right margin or equally distribute the items with the available width (whatever looks better)
  • Also, not sure if it is a bug but the Sync Tabs does not seem to work for me.

For some new feature ideas, you could:

  • Add a filter field on the table to search by keyword for specific host, endpoints, etc. That would cause the table to refresh and show only matching rows.

Also, some side questions whilst I am on it:

  • What is the difference between, Only in Scope and Restrict to Scope? If it is to set a custom scope, what will happen if the Only in Scope is already checked?
  • I dont understand the use case for drop original request if that would cause all these side effects, could you kindly explain me when I would need something like that?

Once again, I cannot stress enough how amazing this extension is it really streamlined my methodology for horizontal/vertical privileges escalation assessments and that is why I think it is important to really make it good and pleasing to the eyes, because I know that personally I will use it quite a lot once I get more accustomed to it. 😁

Note: You could take inspiration on Autorize for the UI for the config with the system of tabs.

image

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

Sync Tabs
Activating Sync Tabs will auto change Request / Response Tab on the two Comparison Views.

Only in Scope vs. Restrict To Scope
Only In Scope: only process Requests which are in the defined Proxy Scope.
Restrict To Scope: Restricts one specific session to a Scope / Path. The Request will be processed but not repeated.

Drop Original Requests
Can be used for testing idempotent Operations (e.g., a DELETE API call).

For your inputs about the UI. Some of them I can take into consideration. Others I do not agree with you. To be honest, the Autorize UI is in many parts pretty confusing from my point of view. For instance, having a configuration tab and a session tab (two completely unsimilar components) would absolutely confusing me. Or splitting the global filters into different UI components (they are all used for similar stuff) is not intuitive from my point of view and would take more time to handle with.
It took me some of effort to create a GUI which is as easy understandable as possible. Despite a considerable number of functions, the GUI is not overloaded with buttons, labels and other stuff. And almost each component is explained with a tooltip. Currently not usable buttons and checkbox are disabled and each view component can be resized to a preferred size.

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

These are just some suggestions to take or leave ☺️.

And I confused "Sync Tabs" with "Sync Scroll", maybe worth implementing?

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

Since the Burp IMessageEditor is in use unfortunately there is no direct access to the Scrollpane inside the component...

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

The good auld Burp API, they should export more functions. Anyway, thanks a lot for your replies and I am looking forward to seeing some UI tweaks, I will also check the method you described above of pausing a session.

Note: Pausing my current crawling session does indeed the work by displaying NA (btw that should be N/A) and allow me to identify under which user context I performed the crawling by a quick look at the results table. However, when ticking the Filter requests with same header(s) there is nothing that allow me to identify under which user the crawling was performed.

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

I know that it should called N/A. I am not able to use a slash in the enum and I just use the toString method of the enum (sometimes humans are lazy).
About the "Filter Requests with same Header(s)":
Selecting this will not repeat a request in a session if the original request has exact the same header.
Header of Session1
Cookie: session=xxx
Header of Session2
Cookie: session=yyy

I have sent two requests:
First request with header Cookie: session=xxx and second Request with header Cookie: session=yyy. This is what I get in my table:
grafik

Note: The header must occur in the exact same way. If you send a request with Cookie: session=xxx; anythingelse=lorem the request would not be filtered...

Hope that helps

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

Thanks for the example! However, I am not able to reproduce this behaviour, the session is set with an "Authentication Bearer" token not sure if this use case is coveredd in your code.

Also, I know that the Burp API has helpers to extract and process cookies/headers. Might be worth looking at that - if not already implemented - so that even cookies/headers not occurring in the exact same way would yield the described behaviour.

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

The content of the header does not matter. It just must be exact the same string. And if several headers are declared in your session, all headers must occur the exact same way.

Cookie extraction replacement is in use at the parameter function. This is not suitable for the "Filter Request with same Header" use case from my point of view.

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

@simioni87 just wondering what the status is for the UI refinements? πŸ™ƒ

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

Hi aress31
I did a few GUI changes with the latest Release (1.1.5)
Have Fun!

from auth_analyzer.

aress31 avatar aress31 commented on May 27, 2024

Thanks so much @simioni87 amazing job as always! Just reviewed this new released and I still got a few comments (take or leave πŸ˜€):

  • Harmonise the case (Same, Similar, Different):
    image
  • You could consider moving Analyzer Stopped and Drop Original Requests just under the Filters options so that the config UI would be only three columns rather than four:
    image
  • Leave a bit of space between Analyzer Stopped and the pause icon.
  • Could colour the New Session button with the orange (CB5927) used throughout BurpSuite to emphasis it a bit.
    image
  • Left align the column headers:
    image

This is all I can think of at the minute, but the UI does look better already 😁

PS: Also, the bottom-margin value in:
image

Should be identical to:
image

And the bottom margin between New Session, Clone Session, Rename Session, Remove Session and Export Setup, Import Setup looks way to large, I reckon x2 or x4 the normal bottom-margin value (in order to mark a clear divide) could be more visually pleasing:
image

from auth_analyzer.

simioni87 avatar simioni87 commented on May 27, 2024

The rest will be left as it is since almost each component has a well-thought-out reason to beeing on its place in the manner as it is. Nevertheless, thanks for your inputs and have fun!

from auth_analyzer.

Related Issues (20)

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.