cpdos

package
v0.5.2 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ModuleID    = "cache-poisoned-dos"
	ModuleName  = "Cache-Poisoned Denial of Service (CPDoS)"
	ModuleShort = "Detects CPDoS where a shared cache stores an origin error response and replays it to other users"
)

Variables

View Source
var (
	ModuleDesc = `` /* 603-byte string literal not displayed */

	ModuleConfirmation = "" /* 417-byte string literal not displayed */
	ModuleSeverity     = severity.Medium
	ModuleConfidence   = severity.Firm
	ModuleTags         = []string{"cache-poisoning", "cpdos", "dos", "moderate"}
)

Functions

This section is empty.

Types

type Module

type Module struct {
	modkit.BaseActiveModule
	// contains filtered or unexported fields
}

Module implements the Cache-Poisoned Denial of Service active scanner.

func New

func New() *Module

New creates a new CPDoS module.

func (*Module) CanProcess

func (m *Module) CanProcess(ctx *httpmsg.HttpRequestResponse) bool

CanProcess restricts CPDoS to GET requests — cache-poisoned errors only matter for cacheable GET resources — layered on the base media/method eligibility checks.

func (*Module) ScanPerRequest

func (m *Module) ScanPerRequest(
	ctx *httpmsg.HttpRequestResponse,
	httpClient *http.Requester,
	scanCtx *modkit.ScanContext,
) ([]*output.ResultEvent, error)

ScanPerRequest tests the endpoint for CPDoS via cacheable origin errors (HMO/HHO).

Jump to

Keyboard shortcuts

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