* Fix ioutil deprecation and use xdg paths instead (wip)
* Clean up deprecated ioutil references, add config directory structure creation and run entry creation
* Add wordlist position setting and FFUFHASH variable
* Save full wordlist paths and print out a raw request when searched
* Cast from string to 32bit integer, 2billion should be enough for a position
* Use correct format strings for float
* Add -json option
Prints newline-delimited JSON output to STDOUT
* sort
* Clear terminal line via STDERR foreach JSON result
For each JSON result being printed, prepend it with a TERMINAL_CLEAR_LINE via
STDERR. This clears the progress line (which is also being emitted via STDERR)
and leaves us with a clean stream of JSON lines in the terminal.
* Added response time reporting and filtering
* Update to use the http config context
* Added changelog and contributor info
* Round time output in stdout to nearest millisecond
* Change stdout duration rounding to use Milliseconds()
* Go back to Round() for timing output
* Changed stdout to display millisecond durations
Co-authored-by: Joona Hoikkala <joohoi@users.noreply.github.com>
* adding content-type to csv and json output (#336)
* added to contributors and changelog
* changed 'type' to 'content-type'
* added content-type for html and md output
* updated changelog
Co-authored-by: layton <layton@desktop-manjaro.fritz.box>
Co-authored-by: Joona Hoikkala <joohoi@users.noreply.github.com>
This change is an attempt to handle gosimple linter finfings in order to
make the code easier to follow. It includes the following changes:
- use strings.Contains instead of strings.Index != -1
- use time.Since which is the standard library helper. See https://github.com/golang/go/blob/go1.15.2/src/time/time.go#L866-L867
- remove unneeded return statements at the end of methods
- preallocate maps when their capacity is known
- avoid underscoring values when they can be omitted
- avoid fmt.Sprintf() calls when the only argument is already a string
Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>
* Support outputting all file formats concurrently
Previously ffuf would allow outputting to a single
file-format, ie Markdown (md), json or HTML. It was not
possible to output in multiple formats in the same
execution.
This change allows specifying an output (-of) of "all",
which means that the output filename (-o) is used, but the
appropriate suffix is added.
As an example,
... -of all -o output/report
Will output:
- output/report.json
- output/report.html
- output/report.csv
- ... etc
Fixesffuf/ffuf#215
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Updated Changelog and added myself to CONTRIBUTORS
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Fix file extension for 'ecsv' when 'all' is used
.. And fix CONTRIBUTORS.md to be alphabetical
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Increase default rows per page on html report
Previously 10 results were displayed per-page, as the
default of DataTables. This change increases the default to
250 results per page and also adds the option for 250, 500,
1000, 2500 and ALL results.
In addition, materialize css default was blocking the
viewing of the option to display alternative results
per-page. This is resolved by calling .formSelect as per
https://stackoverflow.com/questions/28258106/materialize-css-select-doesnt-seem-to-renderFixesffuf/ffuf#216
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Updated Changelog and added myself to CONTRIBUTORS
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Updated CONTRIBUTORS.md to be alphabetical
Signed-off-by: Dave Walker (Daviey) <email@daviey.com>
* Multiple wordlist support
* Display error correctly if wordlist file could not be opened
* Add back the redirect location
* Support multiple keywords in HTML output and fix wordlist positioning
* Support multiple wordlists for md output
* Support multiple keywords in CSV output
* Improve output for multi keyword runs
* Add changelog entry
* Switch the wordlist filename <-> keyword around to allow tab completion
* Fix the usage example in README
* Added HTML and Markdown output support
* Add HTML color code in HTML template
* Added lines count
* Added content lines to json + csv
* Added changelog entry
* Fixed copy paste mistake
* Changed the html report to be grepable :)
* Grepable output fixed
* Fixed lines count
* Added HTML and Markdown output support
* Add HTML color code in HTML template
* Added changelog entry
* Fixed copy paste mistake
* Changed the html report to be grepable :)
* Grepable output fixed
* Added redirect location in stdout output
* Keep conditional logic outside of the resultNormal function + Better help message for redirect location
* Moved GetRedirectLocation as a Response public method
* Added changelog entry + (Redirect become ->)
* New input provider: command
* Set env var and move to Windows and POSIX constants for shell instead of CLI flag.
* Display position instead of input payload when --input-cmd is used
* Update README
* Fix README and flags help
* Add an example to README