Commit Graph

48 Commits

Author SHA1 Message Date
Joona Hoikkala
e952deb061
Fix the v2 tagging for go install (#639) 2023-02-06 11:20:28 +02:00
Joona Hoikkala
643f6b883f
Scraper functionality (#633)
* 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
2023-02-04 13:23:31 +02:00
Joona Hoikkala
9bddff79b9
New functionality to map fired blind payloads back to the initial request (#632)
* 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
2023-02-02 11:51:11 +02:00
Joona Hoikkala
b7adc5038d
Fix jsonlines output while in silent mode (#630) 2023-01-31 17:10:08 +02:00
Joona Hoikkala
9fa0a5d20a
Ac rewrite
* Full revamp of filtering, and autocalibration settings.

* Fix concurrency issue in calibration

* Fix linting
2022-05-19 09:31:54 +03:00
Justin Steven
4c1a75498b
Add -json option (#509)
* 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.
2022-03-06 16:39:33 +02:00
Maxime Catrice
80a4aa7783
Fix -of all output and add HTTP/2 support (#451) (#462)
* Fix -of all output (#451)

* Add HTTP/2 support
2022-01-28 17:49:53 +02:00
Gustavo Costa
3c78f89c83
Include full line colors (#446)
* Include full line colors

* Update CHANGELOG and CONTRIBUTORS
2021-05-17 01:35:55 +03:00
DoI
965f282c0b
Response time logging and filtering (#433)
* 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>
2021-05-17 00:10:56 +03:00
Joona Hoikkala
ee0705e224
Fix an issue where output file was created regardless of -or (#444)
* Fix an issue where output file was created regardless of -or

* Add CHANGELOG entry
2021-05-13 19:07:00 +03:00
Joona Hoikkala
25fc4e4b49
Fixed an issue with storing the matches for recursion jobs (#437) 2021-04-27 00:10:11 +03:00
Massimo Prencipe
a513e2767e Fix: Create output directory recursively instead of silently failing to produce output (#413)
* Fix: Create output directory recursively instead of silently failing to write output. Fixes issue #395.

* Update changelog, contributors
2021-04-18 13:40:44 +03:00
Joona Hoikkala
f97c2f7600
Interactive mode and recursion-strategy (#426)
* Add new feature: recursion-strategy

* Implementation of interactive mode (#8)

* Add interactive mode documentation (#9)

* Prepare for release 1.3.0 (#11)
2021-04-18 12:54:17 +03:00
Joona Hoikkala
fb1be906f0
Move version output to a function (#407)
* Version info as function (#3)

* Opportunistic coloring
2021-03-04 22:04:04 +02:00
Alexandre ZANNI
f1c39bec3a
replace badchar with a space (#390)
* replace badchar with a space

* add noraj to contribs

* add changelog

* remove PR ref & shoutouts

Co-authored-by: Joona Hoikkala <joohoi@users.noreply.github.com>

* re-order

Co-authored-by: Joona Hoikkala <joohoi@users.noreply.github.com>
2021-02-23 13:49:54 +02:00
layton
0c991947a7
Adding Content-Type to all output formats (#336) (#341)
* 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>
2021-02-21 15:52:41 +02:00
Bp0lr
bc5e61ecc3
Empty filter (#330)
* add support to filter empty result files.

* update readme

* add contributors.

* add changelog

* Update ffufrc.example
2020-11-23 20:39:06 +02:00
Joona Hoikkala
99100e0608
Add linter workflow as GitHub action (#325)
* Add linter workflow as GitHub action

* Fix linter issues

* More fixes
2020-10-03 11:29:18 +03:00
M. Ángel Jimeno
19937c4929
pkg: handle gosimple linter findings (#322)
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>
2020-10-03 10:45:07 +03:00
M. Ángel Jimeno
7099b61f2d
pkg/output/stdout: use Error() method from error interface when possible (#321)
Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>
2020-10-02 17:14:48 +03:00
Kiblyn11
79fe3c0c91
Change banner logging to stderr (#282)
* Change banner logging to stderr

* Edit CHANGELOG and CONTRIBUTORS

* fix: add to contributors according to sort order
2020-09-24 12:09:03 +03:00
Joona Hoikkala
0ce941326b
Throttle rate of requests per second (#287)
* Add the functionality to perform req/sec limiting (for humans)

* Add documentation
2020-08-30 13:51:41 +03:00
Joona Hoikkala
08ec6bad2a
Add Host information to JSON output file (#223) 2020-04-23 00:53:28 +03:00
Dave Walker
88720dfdc9
Support outputting all file formats concurrently (#218)
* 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

Fixes ffuf/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>
2020-04-19 12:11:15 +03:00
helpermika
7021c2f211
Add the wordlists to the header information (#211)
* Add the wordlists to the header information (#197)

* Add the requested change
2020-04-15 13:39:01 +03:00
Joona Hoikkala
ff1bc2a3c2
Handle relative URLs in redirects properly (#167) 2020-02-17 00:56:38 +02:00
Joona Hoikkala
b0a632e6cd
Replay matches using a chosen proxy (#140)
* Replay matches using a custom proxy

* Add changelog entry
2020-01-17 09:49:25 +02:00
Joona Hoikkala
b4adeae872
Recursive jobs support (#129) 2019-12-31 14:19:27 +02:00
Joona Hoikkala
15524003b8
Write requests and responses to filesystem if requested (#126) 2019-12-28 17:46:44 +02:00
Joona Hoikkala
6059ead533
Verbose banner information (#102) 2019-11-16 17:28:34 +02:00
Joona Hoikkala
3949e49b3b
Implement -v (verbose) flag (#100) 2019-11-16 16:32:11 +02:00
Joona Hoikkala
7b0542a5a7
Show RedirectLocation and full URL in output files (#97) 2019-11-16 15:29:09 +02:00
Joona Hoikkala
7aad9c6051
Fix JSON output regression and Stdout race condition issues (#94)
* Fix json output regression and improve stdout printing

* Add changelog entry
2019-11-16 01:48:00 +02:00
Joona Hoikkala
5456a37f72
Multiple wordlist support (#79)
* 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
2019-11-10 23:30:54 +02:00
SakiiR
e200bd11f7 Added lines count to filter/matcher and stdout + csv + json (#71)
* 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
2019-11-09 22:09:12 +02:00
SakiiR
826ebbc21c Added HTML and Markdown output support (#63)
* 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
2019-11-08 16:18:27 +02:00
SakiiR
081e40f97e Added redirect location in stdout output (#59)
* 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 ->)
2019-10-14 11:29:37 +03:00
Joona Hoikkala
8883aea432
New input provider --input-cmd (#40)
* 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
2019-06-17 00:42:42 +03:00
Joona Hoikkala
45bffbffca
Refactor progress functionality to correct modules (#33) 2019-04-28 01:08:09 +03:00
Joona Hoikkala
4d0977a7d8
Feature to autocalibrate the size and word count filters (#30) 2019-04-20 20:46:43 +03:00
Sebastian Lawniczak
9934cfdfc3 Add output to CSV file (#12) 2019-04-03 12:51:42 +03:00
Joona Hoikkala
35f02c622b
Merge remote-tracking branch 'origin/master' into json_out 2019-03-30 01:09:49 +02:00
Joona Hoikkala
baa8bdb6b5
Option for JSON file output 2019-03-30 01:02:41 +02:00
Joona Hoikkala
e9f2dfd1c9
New flag to stop on spurious 403 responses 2019-03-28 14:23:33 +02:00
Joona Hoikkala
fbafd82c62
Add word filter / matcher 2018-11-12 19:06:49 +02:00
Joona Hoikkala
36a0a103e7
Colors 2018-11-09 15:21:23 +02:00
Joona Hoikkala
cee6b2f25b
Progress and duration 2018-11-09 14:26:55 +02:00
Joona Hoikkala
ad2296f55b
Initial commit, v0.1 2018-11-08 11:26:32 +02:00