mutate

package
v1.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 12, 2024 License: AGPL-3.0 Imports: 52 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	WithPoolOpt_noFixContentLength         = _httpPool_noFixContentLength
	WithPoolOpt_Proxy                      = _httpPool_proxies
	WithPoolOpt_Timeout                    = _httpPool_PerRequestTimeout
	WithPoolOpt_Concurrent                 = _httpPool_SetSize
	WithPoolOpt_SizedWaitGroup             = _httpPool_SetSizedWaitGroup
	WithPoolOpt_Addr                       = _httpPool_Host
	WithPoolOpt_RedirectTimes              = _httpPool_redirectTimes
	WithPoolOpt_RawMode                    = _httpPool_RawMode
	ExecPool                               = _httpPool
	WithPoolOpt_Https                      = _httpPool_IsHttps
	WithPoolOpt_RuntimeId                  = _httpPool_runtimeId
	WithPoolOpt_GmTLS                      = _httpPool_IsGmTLS
	WithPoolOpt_NoFollowRedirect           = _httpPool_SetNoFollowRedirect
	WithPoolOpt_FollowJSRedirect           = _httpPool_SetFollowJSRedirect
	WithPoolOpt_Context                    = _httpPool_SetContext
	WithPoolOpt_ForceFuzz                  = _httpPool_SetForceFuzz
	WithPoolOpt_ForceFuzzDangerous         = _httpPool_SetForceFuzzDangerous
	WithPoolOpt_FuzzParams                 = _httpPool_SetFuzzParams
	WithPoolOpt_ExtraMutateCondition       = _httpPool_extraMutateCondition
	WithPoolOpt_ExtraMutateConditionGetter = _httpPool_extraMutateConditionGetter
	WithPoolOpt_DelayMinSeconds            = _httpPool_DelayMinSeconds
	WithPoolOPt_DelayMaxSeconds            = _httpPool_DelayMaxSeconds
	WithPoolOPt_DelaySeconds               = _httpPool_DelaySeconds
	WithPoolOpt_HookCodeCaller             = _hoopPool_SetHookCaller
	WithPoolOpt_MutateHook                 = _httpPool_MutateHook
	WithPoolOpt_MutateWithMethods          = _httpPool_MutateHookWithYPBStruct
	WithPoolOpt_Source                     = _httpPool_Source
	WithPoolOpt_NamingContext              = _httpPool_namingContext
	WithPoolOpt_RetryTimes                 = _httpPool_Retry
	WithPoolOpt_MaxContentLength           = _httpPool_MaxContentLength
	WithPoolOpt_RetryInStatusCode          = _httpPool_RetryInStatusCode
	WithPoolOpt_RetryNotInStatusCode       = _httpPool_RetryNotInStatusCode
	WithPoolOpt_RetryWaitTime              = _httpPool_RetryWaitTime
	WithPoolOpt_RetryMaxWaitTime           = _httpPool_RetryMaxWaitTime
	WithPoolOpt_DNSServers                 = _httpPool_DNSServers
	WithPoolOpt_EtcHosts                   = _httpPool_EtcHosts
	WithPoolOpt_NoSystemProxy              = _httpPool_NoSystemProxy
	WithPoolOpt_RequestCountLimiter        = _httpPool_RequestCountLimiter
	WithConnPool                           = _httpPool_withConnPool
	WithPoolOpt_ExternSwitch               = _httpPool_ExternSwitch
)
View Source
var HttpPoolExports = map[string]interface{}{
	"Pool": _httpPool,

	"https":              _httpPool_IsHttps,
	"size":               _httpPool_SetSize,
	"host":               _httpPool_Host,
	"port":               _httpPool_Port,
	"proxy":              _httpPool_proxies,
	"perRequestTimeout":  _httpPool_PerRequestTimeout,
	"rawMode":            _httpPool_RawMode,
	"redirectTimes":      _httpPool_redirectTimes,
	"noRedirect":         _httpPool_noRedirects,
	"context":            _httpPool_SetContext,
	"fuzz":               _httpPool_SetForceFuzz,
	"fuzzParams":         _httpPool_SetFuzzParams,
	"noFixContentLength": _httpPool_noFixContentLength,
}

Functions

func AddFuzzTagDescriptionToMap added in v1.2.8

func AddFuzzTagDescriptionToMap(methodMap map[string]*parser.TagMethod, f *FuzzTagDescription)

func AddFuzzTagToGlobal

func AddFuzzTagToGlobal(f *FuzzTagDescription)

func CircledEnclosedConvertor

func CircledEnclosedConvertor(i interface{})

func ConvertValue added in v1.3.1

func ConvertValue(oldValue, newValue string) string

func FuzzTagExec

func FuzzTagExec(input interface{}, opts ...FuzzConfigOpt) (_ []string, err error)

func GetExistedFuzzTagMap added in v1.3.2

func GetExistedFuzzTagMap() map[string]*parser.TagMethod

func GetXpathFromNode added in v1.3.1

func GetXpathFromNode(node *xmlquery.Node) string

func InitCodecCaller

func InitCodecCaller(caller func(name string, s interface{}) (string, error))

func InterfaceToFuzzResults

func InterfaceToFuzzResults(value interface{}, conds ...*RegexpMutateCondition) []string

func MutateQuick

func MutateQuick(i interface{}) (finalResult []string)

func NewDefaultHttpPoolConfig

func NewDefaultHttpPoolConfig(opts ...HttpPoolConfigOption) *httpPoolConfig

func NewMultiPartData

func NewMultiPartData() *multipartData

func ObfuscateIP

func ObfuscateIP(ipAddr string, originDomain ...string) []string

func ParseStringToParams

func ParseStringToParams(i string, separator string) (map[string][]string, error)

func PositionTypeVerbose

func PositionTypeVerbose(pos httpParamPositionType) string

func QuickMutate

func QuickMutate(origin string, db *gorm.DB, conds ...*RegexpMutateCondition) ([]string, error)

func QuickMutateSimple

func QuickMutateSimple(target ...string) []string

func RecursiveXMLNode added in v1.3.1

func RecursiveXMLNode(node *xmlquery.Node, callback func(node *xmlquery.Node))

func RepeatFunc

func RepeatFunc(i uint, handler func() bool)

Types

type BuildFuzzHTTPRequestOption

type BuildFuzzHTTPRequestOption func(config *buildFuzzHTTPRequestConfig)

func OptContext added in v1.3.1

func OptDisableAutoEncode added in v1.2.8

func OptDisableAutoEncode(i bool) BuildFuzzHTTPRequestOption

func OptHTTPS

func OptHTTPS(i bool) BuildFuzzHTTPRequestOption

func OptProxy added in v1.2.4

func OptRuntimeId added in v1.2.4

func OptRuntimeId(r string) BuildFuzzHTTPRequestOption

type EncodedFunc added in v1.2.4

type EncodedFunc func(any) string

type FuzzConfigOpt

type FuzzConfigOpt func(config *FuzzTagConfig)

func FuzzCodecOptions added in v1.3.2

func FuzzCodecOptions() []FuzzConfigOpt

func FuzzFileOptions added in v1.2.5

func FuzzFileOptions() []FuzzConfigOpt

func Fuzz_SyncTag added in v1.2.9

func Fuzz_SyncTag(b bool) FuzzConfigOpt

func Fuzz_WithEnableCodectag added in v1.3.2

func Fuzz_WithEnableCodectag() FuzzConfigOpt

func Fuzz_WithEnableDangerousTag added in v1.3.2

func Fuzz_WithEnableDangerousTag() FuzzConfigOpt

func Fuzz_WithEnableFileTag added in v1.3.2

func Fuzz_WithEnableFileTag() FuzzConfigOpt

func Fuzz_WithExtraDynFuzzTagHandler added in v1.2.9

func Fuzz_WithExtraDynFuzzTagHandler(tag string, handler func(string) []string) FuzzConfigOpt

func Fuzz_WithExtraFuzzErrorTagHandler added in v1.2.8

func Fuzz_WithExtraFuzzErrorTagHandler(tag string, handler func(string) ([]*parser.FuzzResult, error)) FuzzConfigOpt

func Fuzz_WithExtraFuzzTagHandler

func Fuzz_WithExtraFuzzTagHandler(tag string, handler func(string) []string) FuzzConfigOpt

func Fuzz_WithExtraFuzzTagHandlerEx

func Fuzz_WithExtraFuzzTagHandlerEx(tag string, handler func(string) []*fuzztag.FuzzExecResult) FuzzConfigOpt

func Fuzz_WithParams

func Fuzz_WithParams(i interface{}) FuzzConfigOpt

func Fuzz_WithResultHandler

func Fuzz_WithResultHandler(handler func(string, []string) bool) FuzzConfigOpt

func Fuzz_WithSimple added in v1.2.9

func Fuzz_WithSimple(b bool) FuzzConfigOpt

type FuzzHTTPRequest

type FuzzHTTPRequest struct {
	// contains filtered or unexported fields
}

func NewFuzzHTTPRequest

func NewFuzzHTTPRequest(i interface{}, opts ...BuildFuzzHTTPRequestOption) (*FuzzHTTPRequest, error)

func NewMustFuzzHTTPRequest

func NewMustFuzzHTTPRequest(i interface{}, opts ...BuildFuzzHTTPRequestOption) *FuzzHTTPRequest

func (*FuzzHTTPRequest) DisableAutoEncode added in v1.2.8

func (r *FuzzHTTPRequest) DisableAutoEncode(b bool) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) Exec

func (f *FuzzHTTPRequest) Exec(opts ...HttpPoolConfigOption) (chan *HttpResult, error)

func (*FuzzHTTPRequest) ExecFirst

func (f *FuzzHTTPRequest) ExecFirst(opts ...HttpPoolConfigOption) (*HttpResult, error)

func (*FuzzHTTPRequest) FirstFuzzHTTPRequest

func (f *FuzzHTTPRequest) FirstFuzzHTTPRequest() *FuzzHTTPRequest

func (*FuzzHTTPRequest) FirstHTTPRequestBytes

func (f *FuzzHTTPRequest) FirstHTTPRequestBytes() []byte

func (*FuzzHTTPRequest) FuzzCookie

func (f *FuzzHTTPRequest) FuzzCookie(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzCookieBase64 added in v1.2.4

func (f *FuzzHTTPRequest) FuzzCookieBase64(key, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzCookieBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequest) FuzzCookieBase64JsonPath(k any, jp string, v any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzCookieJsonPath added in v1.2.2

func (f *FuzzHTTPRequest) FuzzCookieJsonPath(k any, jp string, v any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzCookieRaw

func (f *FuzzHTTPRequest) FuzzCookieRaw(v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzFormEncoded

func (f *FuzzHTTPRequest) FuzzFormEncoded(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzGetBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequest) FuzzGetBase64JsonPath(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzGetBase64Params added in v1.2.4

func (f *FuzzHTTPRequest) FuzzGetBase64Params(key, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzGetJsonPathParams

func (f *FuzzHTTPRequest) FuzzGetJsonPathParams(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzGetParams

func (f *FuzzHTTPRequest) FuzzGetParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzGetParamsRaw

func (f *FuzzHTTPRequest) FuzzGetParamsRaw(queryRaws ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzHTTPHeader

func (f *FuzzHTTPRequest) FuzzHTTPHeader(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzMethod

func (f *FuzzHTTPRequest) FuzzMethod(methods ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPath

func (f *FuzzHTTPRequest) FuzzPath(paths ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPathAppend

func (f *FuzzHTTPRequest) FuzzPathAppend(paths ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequest) FuzzPostBase64JsonPath(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostBase64Params added in v1.2.4

func (f *FuzzHTTPRequest) FuzzPostBase64Params(key, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostJsonParams

func (f *FuzzHTTPRequest) FuzzPostJsonParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostJsonPathParams

func (f *FuzzHTTPRequest) FuzzPostJsonPathParams(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostParams

func (f *FuzzHTTPRequest) FuzzPostParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostRaw

func (f *FuzzHTTPRequest) FuzzPostRaw(body ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzPostXMLParams added in v1.3.1

func (f *FuzzHTTPRequest) FuzzPostXMLParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzUploadFile

func (f *FuzzHTTPRequest) FuzzUploadFile(k, v interface{}, raw []byte) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzUploadFileName

func (f *FuzzHTTPRequest) FuzzUploadFileName(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) FuzzUploadKVPair

func (f *FuzzHTTPRequest) FuzzUploadKVPair(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) GetAllParams added in v1.2.2

func (f *FuzzHTTPRequest) GetAllParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetBody

func (f *FuzzHTTPRequest) GetBody() []byte

func (*FuzzHTTPRequest) GetBytes

func (f *FuzzHTTPRequest) GetBytes() []byte

func (*FuzzHTTPRequest) GetCommonParams

func (f *FuzzHTTPRequest) GetCommonParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetContentType

func (f *FuzzHTTPRequest) GetContentType() string

func (*FuzzHTTPRequest) GetCookieParams

func (f *FuzzHTTPRequest) GetCookieParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetCurrentOptions added in v1.2.8

func (f *FuzzHTTPRequest) GetCurrentOptions() []BuildFuzzHTTPRequestOption

func (*FuzzHTTPRequest) GetFirstFuzzHTTPRequest

func (s *FuzzHTTPRequest) GetFirstFuzzHTTPRequest() (*FuzzHTTPRequest, error)

func (*FuzzHTTPRequest) GetGetQueryParams

func (f *FuzzHTTPRequest) GetGetQueryParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetHeader

func (f *FuzzHTTPRequest) GetHeader(key string) string

func (*FuzzHTTPRequest) GetHeaderKeys

func (f *FuzzHTTPRequest) GetHeaderKeys() []string

func (*FuzzHTTPRequest) GetHeaderParamByName

func (f *FuzzHTTPRequest) GetHeaderParamByName(k string) *FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetHeaderParams

func (f *FuzzHTTPRequest) GetHeaderParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetHeaderValues

func (f *FuzzHTTPRequest) GetHeaderValues() []string

func (*FuzzHTTPRequest) GetMethod

func (f *FuzzHTTPRequest) GetMethod() string

func (*FuzzHTTPRequest) GetOriginHTTPRequest

func (f *FuzzHTTPRequest) GetOriginHTTPRequest() (*http.Request, error)

func (*FuzzHTTPRequest) GetPath

func (f *FuzzHTTPRequest) GetPath() string

func (*FuzzHTTPRequest) GetPathAppendParams

func (f *FuzzHTTPRequest) GetPathAppendParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPathBlockParams

func (f *FuzzHTTPRequest) GetPathBlockParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPathParams

func (f *FuzzHTTPRequest) GetPathParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPathRawParams

func (f *FuzzHTTPRequest) GetPathRawParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPathWithQuery

func (f *FuzzHTTPRequest) GetPathWithQuery() string

func (*FuzzHTTPRequest) GetPathWithoutQuery added in v1.2.9

func (f *FuzzHTTPRequest) GetPathWithoutQuery() string

func (*FuzzHTTPRequest) GetPostCommonParams added in v1.3.2

func (f *FuzzHTTPRequest) GetPostCommonParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPostJsonParams

func (f *FuzzHTTPRequest) GetPostJsonParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPostParams

func (f *FuzzHTTPRequest) GetPostParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetPostQuery

func (f *FuzzHTTPRequest) GetPostQuery() string

func (*FuzzHTTPRequest) GetPostQueryKeys

func (f *FuzzHTTPRequest) GetPostQueryKeys() []string

func (*FuzzHTTPRequest) GetPostQueryValue

func (f *FuzzHTTPRequest) GetPostQueryValue(key string) string

func (*FuzzHTTPRequest) GetPostQueryValues

func (f *FuzzHTTPRequest) GetPostQueryValues() []string

func (*FuzzHTTPRequest) GetPostXMLParams added in v1.3.1

func (f *FuzzHTTPRequest) GetPostXMLParams() []*FuzzHTTPRequestParam

func (*FuzzHTTPRequest) GetQueryKeys

func (f *FuzzHTTPRequest) GetQueryKeys() []string

func (*FuzzHTTPRequest) GetQueryRaw

func (f *FuzzHTTPRequest) GetQueryRaw() string

func (*FuzzHTTPRequest) GetQueryValue

func (f *FuzzHTTPRequest) GetQueryValue(key string) string

func (*FuzzHTTPRequest) GetQueryValues

func (f *FuzzHTTPRequest) GetQueryValues() []string

func (*FuzzHTTPRequest) GetRequestURI

func (f *FuzzHTTPRequest) GetRequestURI() string

func (*FuzzHTTPRequest) GetUrl

func (f *FuzzHTTPRequest) GetUrl() string

func (*FuzzHTTPRequest) IsBodyFormEncoded

func (f *FuzzHTTPRequest) IsBodyFormEncoded() bool

func (*FuzzHTTPRequest) IsBodyJsonEncoded

func (f *FuzzHTTPRequest) IsBodyJsonEncoded() bool

func (*FuzzHTTPRequest) IsBodyUrlEncoded

func (f *FuzzHTTPRequest) IsBodyUrlEncoded() bool

func (*FuzzHTTPRequest) IsEmptyBody

func (f *FuzzHTTPRequest) IsEmptyBody() bool

func (*FuzzHTTPRequest) MergeOption added in v1.2.8

func (*FuzzHTTPRequest) NoAutoEncode added in v1.2.8

func (r *FuzzHTTPRequest) NoAutoEncode() bool

func (*FuzzHTTPRequest) ParamsHash

func (f *FuzzHTTPRequest) ParamsHash() (string, error)

func (*FuzzHTTPRequest) Repeat

func (f *FuzzHTTPRequest) Repeat(i int) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) RequestMap added in v1.3.1

func (f *FuzzHTTPRequest) RequestMap(h func([]byte)) FuzzHTTPRequestIf

func (*FuzzHTTPRequest) Results

func (f *FuzzHTTPRequest) Results() ([]*http.Request, error)

func (*FuzzHTTPRequest) Show

type FuzzHTTPRequestBatch

type FuzzHTTPRequestBatch struct {
	// contains filtered or unexported fields
}

func NewFuzzHTTPRequestBatch

func NewFuzzHTTPRequestBatch(f *FuzzHTTPRequest, reqs ...*http.Request) *FuzzHTTPRequestBatch

func UrlsToHTTPRequests

func UrlsToHTTPRequests(target ...interface{}) (*FuzzHTTPRequestBatch, error)

func (*FuzzHTTPRequestBatch) DisableAutoEncode added in v1.2.8

func (r *FuzzHTTPRequestBatch) DisableAutoEncode(b bool) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) Exec

func (f *FuzzHTTPRequestBatch) Exec(opts ...HttpPoolConfigOption) (chan *HttpResult, error)

func (*FuzzHTTPRequestBatch) ExecFirst

func (f *FuzzHTTPRequestBatch) ExecFirst(opts ...HttpPoolConfigOption) (*HttpResult, error)

func (*FuzzHTTPRequestBatch) FirstFuzzHTTPRequest

func (f *FuzzHTTPRequestBatch) FirstFuzzHTTPRequest() *FuzzHTTPRequest

func (*FuzzHTTPRequestBatch) FirstHTTPRequestBytes

func (f *FuzzHTTPRequestBatch) FirstHTTPRequestBytes() []byte

func (*FuzzHTTPRequestBatch) FuzzCookie

func (f *FuzzHTTPRequestBatch) FuzzCookie(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzCookieBase64 added in v1.2.4

func (f *FuzzHTTPRequestBatch) FuzzCookieBase64(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzCookieBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequestBatch) FuzzCookieBase64JsonPath(k any, jp string, v any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzCookieJsonPath added in v1.2.2

func (f *FuzzHTTPRequestBatch) FuzzCookieJsonPath(k any, jp string, v any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzCookieRaw

func (f *FuzzHTTPRequestBatch) FuzzCookieRaw(value interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzFormEncoded

func (f *FuzzHTTPRequestBatch) FuzzFormEncoded(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzGetBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequestBatch) FuzzGetBase64JsonPath(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzGetBase64Params added in v1.2.4

func (f *FuzzHTTPRequestBatch) FuzzGetBase64Params(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzGetJsonPathParams

func (f *FuzzHTTPRequestBatch) FuzzGetJsonPathParams(key any, jp string, value any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzGetParams

func (f *FuzzHTTPRequestBatch) FuzzGetParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzGetParamsRaw

func (f *FuzzHTTPRequestBatch) FuzzGetParamsRaw(raw ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzHTTPHeader

func (f *FuzzHTTPRequestBatch) FuzzHTTPHeader(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzMethod

func (f *FuzzHTTPRequestBatch) FuzzMethod(p ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPath

func (f *FuzzHTTPRequestBatch) FuzzPath(p ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPathAppend

func (f *FuzzHTTPRequestBatch) FuzzPathAppend(p ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostBase64JsonPath added in v1.2.2

func (f *FuzzHTTPRequestBatch) FuzzPostBase64JsonPath(key any, jsonPath string, val any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostBase64Params added in v1.2.4

func (f *FuzzHTTPRequestBatch) FuzzPostBase64Params(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostJsonParams

func (f *FuzzHTTPRequestBatch) FuzzPostJsonParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostJsonPathParams

func (f *FuzzHTTPRequestBatch) FuzzPostJsonPathParams(key any, jp string, value any) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostParams

func (f *FuzzHTTPRequestBatch) FuzzPostParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostRaw

func (f *FuzzHTTPRequestBatch) FuzzPostRaw(body ...string) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzPostXMLParams added in v1.3.1

func (f *FuzzHTTPRequestBatch) FuzzPostXMLParams(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzUploadFile

func (f *FuzzHTTPRequestBatch) FuzzUploadFile(k, v interface{}, raw []byte) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzUploadFileName

func (f *FuzzHTTPRequestBatch) FuzzUploadFileName(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) FuzzUploadKVPair

func (f *FuzzHTTPRequestBatch) FuzzUploadKVPair(k, v interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) GetFirstFuzzHTTPRequest

func (s *FuzzHTTPRequestBatch) GetFirstFuzzHTTPRequest() (*FuzzHTTPRequest, error)

func (*FuzzHTTPRequestBatch) GetOriginRequest

func (f *FuzzHTTPRequestBatch) GetOriginRequest() *FuzzHTTPRequest

func (*FuzzHTTPRequestBatch) NoAutoEncode added in v1.2.8

func (f *FuzzHTTPRequestBatch) NoAutoEncode() bool

func (*FuzzHTTPRequestBatch) Repeat

func (*FuzzHTTPRequestBatch) RequestMap added in v1.3.1

func (f *FuzzHTTPRequestBatch) RequestMap(h func([]byte)) FuzzHTTPRequestIf

func (*FuzzHTTPRequestBatch) Results

func (f *FuzzHTTPRequestBatch) Results() ([]*http.Request, error)

func (*FuzzHTTPRequestBatch) Show

type FuzzHTTPRequestIf

type FuzzHTTPRequestIf interface {
	// Repeat 重复数据包
	// Example:
	// “`
	//
	// “`
	Repeat(i int) FuzzHTTPRequestIf

	// 模糊测试参数时不进行自动编码
	DisableAutoEncode(bool) FuzzHTTPRequestIf

	// 标注是否进行自动编码
	NoAutoEncode() bool

	// 模糊测试 http.Request 的 method 字段
	FuzzMethod(method ...string) FuzzHTTPRequestIf

	// 模糊测试 Path 字段
	FuzzPath(...string) FuzzHTTPRequestIf

	// FuzzPathAppend 模糊测试 Path,追加 Path
	FuzzPathAppend(...string) FuzzHTTPRequestIf

	// 模糊测试 HTTPHeader 字段
	FuzzHTTPHeader(interface{}, interface{}) FuzzHTTPRequestIf

	// 模糊测试 Query
	FuzzGetParamsRaw(queryRaw ...string) FuzzHTTPRequestIf

	// 模糊测试 Query 中的字段
	FuzzGetParams(interface{}, interface{}) FuzzHTTPRequestIf

	// 模糊测试被Base64编码后Query中的字段
	FuzzGetBase64Params(interface{}, interface{}) FuzzHTTPRequestIf

	// FuzzGetParamJson
	FuzzGetJsonPathParams(any, string, any) FuzzHTTPRequestIf

	// 模糊测试 Post
	FuzzPostRaw(...string) FuzzHTTPRequestIf

	// 模糊测试 PostParam
	FuzzPostParams(k, v interface{}) FuzzHTTPRequestIf

	// 模糊测试被Base64编码后Post中的字段
	FuzzPostBase64Params(k, v interface{}) FuzzHTTPRequestIf

	// 测试 PostJson 中的数据
	FuzzPostJsonParams(k, v interface{}) FuzzHTTPRequestIf

	// 测试 PostJsonPath 中的数据
	FuzzPostJsonPathParams(k any, jp string, v any) FuzzHTTPRequestIf

	// 测试 PostXML 中的数据
	FuzzPostXMLParams(k, v interface{}) FuzzHTTPRequestIf

	// 测试 Cookie 中的数据
	FuzzCookieRaw(value interface{}) FuzzHTTPRequestIf

	// 按键值对测试 Cookie 中的数据
	FuzzCookie(k, v interface{}) FuzzHTTPRequestIf

	// 模糊测试被Base64编码后Cookie中的字段
	FuzzCookieBase64(k, v interface{}) FuzzHTTPRequestIf

	// 测试 multipart 携带字段
	FuzzFormEncoded(k, v interface{}) FuzzHTTPRequestIf

	// 测试上传文件的文件名
	FuzzUploadFileName(k, v interface{}) FuzzHTTPRequestIf

	// 测试上传文件的文件内容
	FuzzUploadFile(k, v interface{}, content []byte) FuzzHTTPRequestIf

	// 测试文件上传内容
	FuzzUploadKVPair(k, v interface{}) FuzzHTTPRequestIf

	// CookieJsonPath
	FuzzCookieJsonPath(any, string, any) FuzzHTTPRequestIf
	FuzzCookieBase64JsonPath(any, string, any) FuzzHTTPRequestIf

	// 测试被 Base64 编码后的 Get Post 参数
	FuzzGetBase64JsonPath(any, string, any) FuzzHTTPRequestIf
	FuzzPostBase64JsonPath(any, string, any) FuzzHTTPRequestIf

	Results() ([]*http.Request, error)
	RequestMap(func([]byte)) FuzzHTTPRequestIf

	Exec(...HttpPoolConfigOption) (chan *HttpResult, error)

	Show() FuzzHTTPRequestIf

	ExecFirst(...HttpPoolConfigOption) (*HttpResult, error)

	FirstFuzzHTTPRequest() *FuzzHTTPRequest
	FirstHTTPRequestBytes() []byte

	GetFirstFuzzHTTPRequest() (*FuzzHTTPRequest, error)
}

func RequestMap added in v1.3.1

func RequestMap(f FuzzHTTPRequestIf, h func([]byte)) FuzzHTTPRequestIf

type FuzzHTTPRequestParam

type FuzzHTTPRequestParam struct {
	// contains filtered or unexported fields
}

func (*FuzzHTTPRequestParam) Debug added in v1.2.2

func (*FuzzHTTPRequestParam) DisableAutoEncode added in v1.2.8

func (p *FuzzHTTPRequestParam) DisableAutoEncode(b bool) *FuzzHTTPRequestParam

func (*FuzzHTTPRequestParam) FirstValueIsNumber added in v1.3.2

func (p *FuzzHTTPRequestParam) FirstValueIsNumber() bool

func (*FuzzHTTPRequestParam) Fuzz

func (p *FuzzHTTPRequestParam) Fuzz(i ...interface{}) FuzzHTTPRequestIf

func (*FuzzHTTPRequestParam) GetFirstValue added in v1.2.9

func (p *FuzzHTTPRequestParam) GetFirstValue() any

func (*FuzzHTTPRequestParam) GetPostJsonPath added in v1.3.2

func (p *FuzzHTTPRequestParam) GetPostJsonPath() string

func (*FuzzHTTPRequestParam) IsCookieParams

func (p *FuzzHTTPRequestParam) IsCookieParams() bool

func (*FuzzHTTPRequestParam) IsGetParams

func (p *FuzzHTTPRequestParam) IsGetParams() bool

func (*FuzzHTTPRequestParam) IsGetValueJSON

func (p *FuzzHTTPRequestParam) IsGetValueJSON() bool

func (*FuzzHTTPRequestParam) IsPostParams

func (p *FuzzHTTPRequestParam) IsPostParams() bool

func (*FuzzHTTPRequestParam) Name

func (p *FuzzHTTPRequestParam) Name() string

func (*FuzzHTTPRequestParam) Position

func (p *FuzzHTTPRequestParam) Position() string

func (*FuzzHTTPRequestParam) PositionVerbose

func (p *FuzzHTTPRequestParam) PositionVerbose() string

func (*FuzzHTTPRequestParam) Repeat

func (*FuzzHTTPRequestParam) String added in v1.2.2

func (p *FuzzHTTPRequestParam) String() string

func (*FuzzHTTPRequestParam) Value

func (p *FuzzHTTPRequestParam) Value() interface{}

type FuzzTagConfig

type FuzzTagConfig struct {
	// contains filtered or unexported fields
}

func NewFuzzTagConfig

func NewFuzzTagConfig() *FuzzTagConfig

func (*FuzzTagConfig) AddFuzzTagHandler

func (f *FuzzTagConfig) AddFuzzTagHandler(name string, handler func(string) []string)

func (*FuzzTagConfig) AddFuzzTagHandlerEx added in v1.2.6

func (f *FuzzTagConfig) AddFuzzTagHandlerEx(name string, handler func(string) []*fuzztag.FuzzExecResult)

type FuzzTagDescription

type FuzzTagDescription struct {
	TagName          string
	Handler          func(string) []string
	HandlerEx        func(string) []*fuzztag.FuzzExecResult
	ErrorInfoHandler func(string) ([]string, error)
	IsDyn            bool
	IsDynFun         func(name, params string) bool
	Alias            []string
	Description      string
}

func CodecTag added in v1.3.2

func CodecTag() []*FuzzTagDescription

func FileTag added in v1.3.2

func FileTag() []*FuzzTagDescription

type HttpPoolConfigOption

type HttpPoolConfigOption func(config *httpPoolConfig)

func WithPoolOpt_BatchTarget added in v1.2.6

func WithPoolOpt_BatchTarget(target any) HttpPoolConfigOption

func WithPoolOpt_DNSNoCache added in v1.3.0

func WithPoolOpt_DNSNoCache(b bool) HttpPoolConfigOption

WithPoolOpt_DNSNoCache is not effective

func WithPoolOpt_ExtraFuzzOptions added in v1.2.6

func WithPoolOpt_ExtraFuzzOptions(opts ...FuzzConfigOpt) HttpPoolConfigOption

type HttpResult added in v1.3.1

type HttpResult struct {
	Url         string
	Request     *http.Request
	Error       error
	RequestRaw  []byte
	ResponseRaw []byte
	Response    *http.Response
	Payloads    []string

	DurationMs       int64
	ServerDurationMs int64
	Timestamp        int64
	// 如果有关联插件的话,这就是插件名
	Source string

	ExtraInfo map[string]string

	LowhttpResponse *lowhttp.LowhttpResponse
	// contains filtered or unexported fields
}

type MutateResult

type MutateResult struct {
	Result   string
	Payloads []string
}

func QuickMutateEx

func QuickMutateEx(origin string, db *gorm.DB, conds ...*RegexpMutateCondition) ([]*MutateResult, error)

func QuickMutateWithCallbackEx

func QuickMutateWithCallbackEx(origin string, db *gorm.DB, callbacks []func(result *MutateResult), conds ...*RegexpMutateCondition) ([]*MutateResult, error)

func QuickMutateWithCallbackEx2

func QuickMutateWithCallbackEx2(origin string, db *gorm.DB, callbacks []func(result *MutateResult) bool, conds ...*RegexpMutateCondition) ([]*MutateResult, error)

type RegexpMutateCondition

type RegexpMutateCondition struct {
	Verbose string
	// Regexp  *regexp.Regexp
	TagName string
	Handle  func(db *gorm.DB, s string) ([]string, error)
}

func MutateWithExtraParams

func MutateWithExtraParams(raw map[string][]string) *RegexpMutateCondition

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL