Documentation
¶
Index ¶
Constants ¶
View Source
const ( ModuleID = "open-redirect" ModuleName = "Open Redirect" ModuleShort = "Detects open redirect vulnerabilities" )
Variables ¶
View Source
var ( ModuleDesc = `` /* 657-byte string literal not displayed */ ModuleConfirmation = "Confirmed when injected external URL appears in a redirect Location header or meta refresh tag" ModuleSeverity = severity.Medium ModuleConfidence = severity.Firm ModuleTags = []string{"open-redirect", "moderate"} )
Functions ¶
func CheckRedirectOutput ¶
func CheckRedirectOutput(respChain *httpUtils.ResponseChain, callback func(nextLoc string) bool)
CheckRedirectOutput invokes callback with each redirect target the response declares — via the Location header, the Refresh header, a <meta> http-equiv refresh/location tag, or a JavaScript location/window redirect. The callback returns true to keep scanning further targets, false to stop early.
func DomainRedirectRegex ¶
DomainRedirectRegex returns a regex that matches a redirect target pointing at the given domain, covering the https://, //, /\, /\\ and userinfo-prefixed forms a redirect value can take.
func MatchRedirectParam ¶
MatchRedirectParam reports whether a parameter — by its name or its current value — looks like a redirect/URL sink worth testing.
Types ¶
type Module ¶
type Module struct {
modkit.BaseActiveModule
// contains filtered or unexported fields
}
func (*Module) ScanPerRequest ¶
func (m *Module) ScanPerRequest( ctx *httpmsg.HttpRequestResponse, httpClient *http.Requester, scanCtx *modkit.ScanContext, ) ([]*output.ResultEvent, error)
Click to show internal directories.
Click to hide internal directories.