Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

printers should be extended (html format + all formats) #44

Open
percepo opened this issue Aug 26, 2023 · 4 comments
Open

printers should be extended (html format + all formats) #44

percepo opened this issue Aug 26, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@percepo
Copy link

percepo commented Aug 26, 2023

Currently, we only have the JSON printer. The current output format only logs responses. The structure does not log things such as startup options. We may want to clarify if that is an intended feature.
Additionally, bringing at least the HTML printer back would be nice. Coupled with some JS, it could enable dynamic filtering of results directly within that HTML output page for the user. That would be very convenient, as JSON is not suited for manual user processing.
Lastly, once there is the option to specify the format, there should be the possibility to signal to wenum to output in both HTML and JSON (practically output in all formats).
This has implications for the naming convention of the output file. With a single format, wenum should directly take the user specified file name as output. If more than one output format is specified, wenum should take the user file name as a base, and append each format in the form of '.format'. This seems to be a common convention on how to deal with one format vs. multiple formats specified (see nmap and ffuf)

@percepo percepo added this to TODOs Aug 26, 2023
@percepo percepo converted this from a draft issue Aug 26, 2023
@percepo
Copy link
Author

percepo commented Aug 26, 2023

Also, this is kind of too far in the future, but if there are ever 3+ formats the --output-format flag may get enhanced in the sense that it accepts multiple flags, so that the user can cherrypick which output formats should be activated in the runtime.

@percepo percepo changed the title printers should be extended printers should be extended (html format + all formats) Sep 9, 2023
@percepo
Copy link
Author

percepo commented Sep 9, 2023

For implementing the HTML printer, the following points should receive special attention:
First of all, there should be effort put into the general layout and look of the HTML output. The colors, format of the lines and spacing should be easy on the user's eyes.
Secondly, the hierarchy of directories should be visible. It should be possible to interactively close and expand subdirectories. Special care needs to be put into the fact that responses can even contain different domain names or ports.
Lastly, an interactive filter should be available for filtering the responses from visibility. General options such as "identifier equals/contains xyz" should exist, with the option to invert the filter (NOT option) and concatenate several statemtns with either ANDs or ORs

@percepo percepo moved this from Todo to In Progress in TODOs Sep 9, 2023
@percepo percepo added the enhancement New feature or request label Sep 9, 2023
@percepo
Copy link
Author

percepo commented Sep 12, 2023

For the table filtering, take a look at https://react-querybuilder.js.org/ and JsonLogic of it

@percepo
Copy link
Author

percepo commented Jan 11, 2024

If possible, it would be convenient if the table rows were filled with the JSON data. This would reduce the amount of data saved, would allow for backwards compatibility (as only the new template + old JSON data is necessary), and would at it's core mean the user never needs to choose between the formats

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: In Progress
Development

No branches or pull requests

1 participant