Files
nuclei/pkg/protocols/http/validate.go
Dwi Siswanto 14b89f8714 fix(http): reject request-condition(s) in fuzzing (#7466)
HTTP fuzzing does not maintain the ordered request
history used by request-condition fields. Reject
fuzzing templates that reference those fields at
validation time instead of letting them eval with
an invalid request count.

Fixes #4891

Signed-off-by: Dwi Siswanto <[email protected]>
2026-06-23 23:57:24 +02:00

24 lines
699 B
Go

package http
import "github.com/pkg/errors"
func (request *Request) validate() error {
if request.Race && request.NeedsRequestCondition() {
return errors.New("'race' and 'req-condition' can't be used together")
}
if len(request.Fuzzing) > 0 && request.NeedsRequestCondition() {
return errors.New("'fuzzing' and 'request-condition' can't be used together")
}
if request.Redirects && request.HostRedirects {
return errors.New("'redirects' and 'host-redirects' can't be used together")
}
if request.ProtocolRedirects && !request.Redirects && !request.HostRedirects {
return errors.New("'protocol-redirects' requires 'redirects' or 'host-redirects' to be enabled")
}
return nil
}