plan

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2026 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package plan describes a WebShell delivery without performing it. The host must provide a DeliverySink; this module ships no default HTTP uploader or command executor.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CleanupSink

type CleanupSink interface {
	Cleanup(ctx context.Context, plan DeliveryPlan, result DeliveryResult) (output string, err error)
}

CleanupSink is optional: the host may remove the dropped artifact and close the session after testing. It returns a human-readable output summary.

type DeliveryPlan

type DeliveryPlan struct {
	Target      core.Target
	UploadURL   string
	Method      string // post | put
	UploadField string
	FormFields  map[string]string
	ProxyURL    string
	Variants    bool
	Payload     Payload
}

DeliveryPlan is a pure description: where to upload, how, and what bytes.

type DeliveryResult

type DeliveryResult struct {
	OK               bool
	DroppedURL       string
	EvidenceID       string
	PayloadPath      string
	UploadTranscript string
	Message          string
}

DeliveryResult is what the host's DeliverySink reports back.

type DeliverySink

type DeliverySink interface {
	Deliver(ctx context.Context, plan DeliveryPlan) (*DeliveryResult, error)
}

DeliverySink is the mandatory host boundary for actual delivery. The host owns HTTP transport, scope re-checks, evidence and cleanup.

type Payload

type Payload struct {
	Filename  string
	Content   []byte
	SHA256    string
	ShellType string
	Protocol  string
	Password  string
	CmdParam  string
	PassParam string
}

Payload is generated bytes plus the metadata needed to register a session.

type Verifier

type Verifier interface {
	Verify(ctx context.Context, plan DeliveryPlan, result DeliveryResult) (*VerifyResult, error)
}

Verifier is optional: the host may verify the dropped URL with a marker probe before registering a session.

type VerifyResult

type VerifyResult struct {
	OK        bool
	Output    string
	TrafficID string
}

VerifyResult is the host verifier's outcome.

Jump to

Keyboard shortcuts

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