* Scraper functionality
* Handle matched only - case for scraper
* Add scraper output to different formats
* Fix the ancient merge reminders
* Load scraper rules from directory
* Scraper fixes
* 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>
* 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