Commit graph

144 commits

Author SHA1 Message Date
animesh
40978ba54a
Edit comment wordlist go (#528)
* Edited a comment

* Added my github to contributors file

* edited contributors.md file to sort my name

Co-authored-by: Animesh Kumar <animesh.kumar@privafy.com>
2022-03-25 18:20:31 +02:00
h1x
571b3397db
Fix a recursion bug when redirected to the same domain and a port was specified (#377) (#522)
This fixes the situation where the URL port is specified from the
command line and the "Location" redirection header contains an
absolute URL path.
2022-03-06 18:14:52 +02: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
DoI
9aeae16a08
Add Sniper Mode (#469)
* Modify SimpleRunner to take a Request parameter, add base and copy functions for Requests

* Add Request structs to run queues

* Implemented sniper mode

* Added request and optionsparser tests for sniper mode

* Removed unneccesary print statements

* Updated readme.md and terminal output

* Enabled command inputs for sniper mode

* correctly initialize validmode in optionsparser

* Remove unnecessary print data in TestScrubTemplates

* Use InputProvider for sniper template characters

* Add a sniper-mode specific queue job execution log
2022-03-06 16:14:45 +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
Massimo Prencipe
415ec0fd23
Add some tests (#479) 2022-01-22 19:52:27 +02:00
Alexandre ZANNI
3cc6557fc4
500 Internal Server Error -> default matched status codes (#510)
* match 500 status code responses by default

* include 500 into default match codes

* match 500: update help message

* Update CHANGELOG.md
2022-01-22 18:58:07 +02:00
Joona Hoikkala
b440d6dd49 Add functionality to append instead to replace filters in interactive mode (#13) 2022-01-22 18:54:57 +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
b56de007d4
Print results found during interactive mode after exiting it (#445) 2021-05-14 00:13:24 +03:00
Samuel Erb
5ad06815cd
Add TLS SNI Support (#441)
* add SNI support to ffuf

* remove change to keywordPresent

* Update CONTRIBUTORS.md

* Update CHANGELOG.md
2021-05-13 23:46:29 +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
958f738b7d
Prepare for release v1.3.1 (#439) 2021-04-27 23:33:55 +03:00
Joona Hoikkala
33f3ecb65c
Trim the newline at the end of raw request file (#438) 2021-04-27 09:01:15 +03:00
Joona Hoikkala
25fc4e4b49
Fixed an issue with storing the matches for recursion jobs (#437) 2021-04-27 00:10:11 +03:00
Joona Hoikkala
8ffe1bd64e
Add a cli flag to disable interactive mode (#436) 2021-04-26 23:04:12 +03:00
Joona Hoikkala
aaa8f31865
Fix header canonicalization (#435) 2021-04-26 22:48:44 +03:00
Joona Hoikkala
d6b273332b
Fix size calculation (#434)
* Fix size calculation
2021-04-26 22:39:08 +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
ac63d5357e
More convenient version string handling (#411) 2021-03-15 19:58:40 +02: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
Joona Hoikkala
825bd3231d
Prepare 1.3.0 (#382) 2021-01-24 22:43:10 +02:00
Joona Hoikkala
407969eb2a
Release 1.2.1 (#381) 2021-01-24 22:33:38 +02:00
Joona Hoikkala
7648afd5db
Post-release 1.2.0 (#380) 2021-01-24 19:32:15 +02:00
Joona Hoikkala
9a5a067bca
Prepare release 1.2.0 (#378) 2021-01-24 19:02:46 +02:00
Jesus Galvan
5b75e9018f
Allow input-shell option (#344)
* Allow input-shell option

* Markdown files

* Changelog
* Contributors
2021-01-24 18:55:23 +02:00
Stefan Stojanovski
6a7bdc0f93
Added 405 Method Not Allowed to the list of status codes matched by default (#373)
* Update .ffufrc to match 405 status code responses by default

* Updated README.md with the new default match status codes

* Updated default match codes to include 405 Method Not Allowed

405 Method not Allowed is returned by many api endpoints when accessed via an improper method. ffuf sends GET reqeusts by default and if an endpoint only supports POST it will return 405 and ffuf will not think it's a valid endpoint unless specifically told to match 405 status codes

* Added choket to contributors

* Update CHANGELOG.md
2021-01-24 18:54:30 +02:00
Joona Hoikkala
4bea474ae6
Fix filter tests (#368) 2020-12-28 13:53:09 +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
M. Ángel Jimeno
c6a6293499
pkg/ffuf: fix panic in Windows when parsing wordlist flag (#335)
This change addresses two panics that happened while parsing the provided
wordlist flag in Windows systems.

- pkg/ffuf/util.go:40: panic happened when the provided path was
invalid. Example: ".\wordlist.txt:" as the os.Stat call returned an
error different than os.ErrNotExist.

- pkg/ffuf/optionsparser.go:179: panic happened when the provided value
did not existed and did not contain a colon character. Example:
".\asdf.txt" when the local file ".\asdf.txt" did not exist. This panic
happened due to strings.LastIndex returning -1 when the provided
substring does not appear. Therefore, v[:-1] panicking.

Fixes #333

Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>
2020-10-26 23:43:09 +02:00
Joona Hoikkala
5b00f2b4e1
Fix HTTP method & data bug when parsing raw request from file (#339) 2020-10-25 15:47:52 +02:00
Fabio
2be8b878f8
issue/274 * made links in HTML report clickable (#323)
* issue/274 * made links in HTML report clickable

* issue/274 * updated changelog and contributors

* fixed contributors order
2020-10-05 11:05:02 +03: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
bjhulst
2abc72018d
Bug 231 (#312)
* Update filter.go

* Upsert filter options

Insert or update filter options.

* Indent.

* Updated CHANGELOG.md

fix for: Option -ac overwriting other existing filters #231
2020-10-03 11:20:21 +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
M. Ángel Jimeno
8156fd1917
pkg: use {strings,bytes}.ReplaceAll when possible (#320)
Use the ReplaceAll helper from the standard library in order to make the
code easier to read. Requires Go 1.12 or higher.

Fixes #301

Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>
2020-10-02 17:12:40 +03:00
Joona Hoikkala
bde943cc5d
Add support for configuration files for ffuf (#308)
* Refactor config and job creation

* ConfigOptions defaults

* Structure ConfigOptions for config file parser

* Sort options

* Finalize the configuration file reading and add examples and documentation

* Fix issues with opts -> config translation
2020-09-27 19:24:06 +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
dc24ad2639
Make SIGINT more responsive, and handle zombied TCP connections properly (#302) 2020-09-24 12:04:31 +03:00
M. Ángel Jimeno
47c8cafadc
job: remove duplicate if statement (#283)
* job: remove duplicate if statement

Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>

* contributors: add Miguel Jimeno to CONTRIBUTORS.md

Signed-off-by: Miguel Ángel Jimeno <miguelangel4b@gmail.com>
2020-08-30 15:24:13 +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
126157438b
Prepare 1.2.0-git (#268) 2020-07-23 13:49:27 +03:00
Joona Hoikkala
d61ceb3eb2
Release 1.1 (#266) 2020-07-23 13:38:56 +03:00
Joona Hoikkala
bef2dc04ed
Fix crash with 3xx requests without location header (#265)
Co-authored-by: Joona Hoikkala <joohoi@io.fi>
2020-07-23 13:13:27 +03:00
bjhulst
9bb613050e
Update random seed logic (#262)
* Update util.go

* Update job.go

rand.Seed updated just before usage

* Update util.go

revert

* Updated CHANGELOG.MD with a description of the bug fix.

Co-authored-by: Joona Hoikkala <joohoi@users.noreply.github.com>
2020-07-23 12:28:31 +03:00