mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2026-11-09 12:21:25 -10:00
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]>
24 lines
699 B
Go
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
|
|
}
|