Commit Graph

113 Commits

Author SHA1 Message Date
Joona Hoikkala
3328a284d2
Fix linter workflow and autocalibration for lines & words match (#614)
* Fix autocalibration for lines & words match

* Fix golangci-lint workflow
2022-12-07 18:26:06 +02:00
Joona Hoikkala
5c489aea78 Prepare for 1.5.0 release (#23) 2022-05-19 09:33:57 +03:00
Joona Hoikkala
1db80d49fc Do autocalibration for full path (#22)
* Do autocalibration for full path

* Linter fixes
2022-05-19 09:33:42 +03:00
Joona Hoikkala
21a19a1f3d Choose between 'and' and 'or' matching and filtering (#20) 2022-05-19 09:32:34 +03: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
Joona Hoikkala
0aa69b527c
Prepare point release v1.4.1 (#538) 2022-04-04 01:22:50 +03:00
Joona Hoikkala
2345bfa86d
Fixes to recursion and wordlist handling for queued jobs (#537) 2022-04-04 01:19:39 +03:00
Joona Hoikkala
f6735d56dc
Prepare for release 1.4.0 (#535)
* Prepare for release 1.4.0

* Prep changelog
2022-03-26 11:01:25 +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
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
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
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
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
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
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
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
Joona Hoikkala
0633fb6b0a
Fixed behavior of wordlist:keyword separator in Windows (#240) 2020-05-16 15:49:57 +03:00
Joona Hoikkala
08ec6bad2a
Add Host information to JSON output file (#223) 2020-04-23 00:53:28 +03:00
bjhulst
ef1aac3a1e
Feature178 (#186)
* feature 178

* sync

* sync

* sync

* sync

Co-authored-by: bjhulst <bjhulst>
2020-03-20 12:42:54 +02:00
Damian Schwyrz
7ffd74d87e
Fix for issue #179 (#180)
* Fix for issue #179

* additional changes after review | #179

* Further info -> README.md regarding #179 & CONTRIBUTORS.md

* Further info -> README.md regarding #179 & CONTRIBUTORS.md

* Further info -> README.md regarding #179

* Fix for removed "Changes"

* Fix for removed "Changes"
2020-02-27 15:19:07 +02:00