Ice3man
8f313629b8
Memory usage optimizations ( #2350 )
...
* Replaced strings.Replaced with fasttemplate reducing allocations
Custom template parsing logic was replaced with fasttemplate package for reducing
allocations in the replacer.Replace hotpath leading to allocation reduction which
accounted for 30% of total nuclei allocations.
$ go test -bench=. -benchmem
goos: darwin
goarch: arm64
pkg: github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/replacer
BenchmarkReplacer-8 837232 1422 ns/op 2112 B/op 31 allocs/op
BenchmarkReplacerNew-8 3672765 320.3 ns/op 48 B/op 4 allocs/op
* Fixed tests failing
* Use pre-compiled map of DSL expressions
* Reworked expression parsing logic to reduce memory allocations
$ go test -bench=. -benchmem
goos: darwin
goarch: arm64
pkg: github.com/projectdiscovery/nuclei/v2/pkg/protocols/common/expressions
BenchmarkEvaluate-8 31560 37769 ns/op 31731 B/op 265 allocs/op
BenchmarkEvaluateNew-8 109144 9621 ns/op 6253 B/op 116 allocs/op
2022-08-23 13:16:41 +05:30
Ice3man
50d21c0464
Fixed a issue with random invalid matches in DSL ( #2195 )
2022-06-21 21:58:43 +05:30
Sajad
7170cc2828
dsl matcher separate ignorable(No parameter) errors from others ( #2127 )
2022-06-07 18:23:07 +05:30
Sajad
b79817e0a9
change dsl evaluate warning messages to error ( #2096 )
...
* change dsl evaluate warning messages to error
* add template-id to dsl match error logs
2022-06-03 13:41:36 +05:30
Ice3man
7d83d3f8c9
Added line number for file results + stats fixes ( #1495 )
...
* Added line number for file results + stats fixes
* Misc
* Improved file result line calculation as per review
* Added new match-all attribute for file template matcher line count
2022-02-10 15:59:05 +05:30
Sajad
5200bcd94f
Whois Protocol Support (using rdap) ( #1354 )
...
* init rdap
* add an integration test, option to supply RDAP server to execute the request on
* add rdap protocolMappings
* add debug info, add IP, ASN query type support
* rename rdap to whois, Host to Query in template
* rename pending rdap to whois
* remove port from whois varaiables
* set Host variable even if input is not a parsable url
2021-12-16 17:08:02 +05:30
forgedhallpass
2d5784d992
Merge branch 'dev' into dsl_signatures
2021-12-07 18:22:10 +02:00
forgedhallpass
79aed22d46
feat: Improve DSL function UX #1295
...
Added support for letting people know if:
* the DSL expression does not return a boolean value
* an invalid custom function signature was provided and then display all available function signatures
* an invalid function was provided and then display the correct signature
Unified the DSL function names to use snake case. The old signatures are also kept for backward compatibility.
2021-12-07 17:34:36 +02:00
Sajad Parra
d97aee01c3
Merge branch 'dev' of https://github.com/projectdiscovery/nuclei into dsl-variable-support
2021-11-29 13:36:09 +05:30
forgedhallpass
c8d009654c
fix: Receiver mismatch warnings
2021-11-25 16:57:43 +02:00
Sajad Parra
7e9272776d
add variable support to dsl, remove dynamicValues from request struct
2021-11-25 16:19:42 +05:30
Ice3man
eaa0d37065
feat #1092 : Validate binary values + precompile them as well ( #1213 )
...
* Added validation for binary values + precompile them
* Changed name of the binary matcher field
Co-authored-by: sandeep <sandeep@projectdiscovery.io>
2021-11-17 02:04:27 +05:30
Alexey Zhuchkov
3a47413cd4
Add case-insensitive flag to matchers and extractors
2021-10-29 19:08:23 +03:00
forgedhallpass
404f8ebb27
Fixes:Binary matcher always returns true if the input cannot be decoded as hex #1085
...
* changed the Log to Warn instead of Error, so it wouldn't show up in the output without the verbose flag
2021-10-05 16:49:55 +03:00
forgedhallpass
4d34513881
Fix for Binary matcher always returns true if the input cannot be decoded as hex #1085
2021-10-05 16:44:18 +03:00
forgedhallpass
dccd47ed19
[feature] Add coloring to debug information #999 [WIP]
...
Return the matched content in case of multiple regex/binary matchers (+test)
2021-09-30 20:36:39 +03:00
forgedhallpass
4be6b3cc96
[feature] Add coloring to debug information #999 [WIP]
...
TODO:
* if there are multiple matchers, make sure the response is only displayed once, with all the matching values colored
* remove code duplication from the request.go files
2021-09-29 19:43:46 +03:00
sandeep
aff4197ea9
Merge branch 'dev' of https://github.com/projectdiscovery/nuclei into matchers-enhancement#555
2021-09-21 16:36:58 +05:30
Sajad Parra
f1ad6f6bc5
add payload, variable, helper support to matchers
2021-09-15 18:02:22 +05:30
forgedhallpass
0ce33927c7
Typo fixes.
2021-09-07 17:31:46 +03:00
Ice3man543
60789f4ba2
More refactoring of nuclei packages
2020-12-24 20:47:41 +05:30
Ice3man543
8a64578890
Work on operators package and generic protocol agnostic matching capabilities
2020-12-24 01:41:32 +05:30
Ice3man543
2317e1ba1b
Data modelling, work on executor started
2020-12-23 16:16:16 +05:30
Ice3man543
ed84bb187b
Added per protocol responseToDSL function + misc cleanup with operators
2020-12-21 15:51:43 +05:30
Ice3man543
d631074e35
Separating matchers, extractors and requests as protocols and operators
2020-12-21 14:31:32 +05:30