sqli

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Overview

Package sqli is Vexor's SQL injection engine: enumerate injection points, fingerprint the backend, run the detection techniques, stream findings.

Index

Constants

This section is empty.

Variables

View Source
var ErrNoTarget = errors.New("no target: set URL or RawRequestFile")

ErrNoTarget is returned when neither URL nor raw request file is set.

Functions

This section is empty.

Types

type Config

type Config struct {
	URL            string
	RawRequestFile string
	TLS            bool
	Method         string
	Headers        map[string]string
	Cookies        map[string]string
	Body           string
	ContentType    string
	TestParameter  string
	SkipParameter  []string
	Level          int
	Risk           int
	Techniques     []string
	ForceDBMS      string
	OOBDomain      string
	Threads        int
	Delay          time.Duration
	Sleep          time.Duration
	Timeout        time.Duration
	Retries        int
	Proxy          string
	Progress       io.Writer
}

Config configures one scan.

type Detection

type Detection struct {
	Point      InjectionPoint
	Technique  string
	DBMS       string
	Payload    string
	Evidence   string
	Confidence int
}

Detection is a confirmed SQL injection finding at one point.

type Detector

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

Detector runs a scan. Construct with New and drive with Run.

func New

func New(cfg Config, httpClient *httpclient.Client) *Detector

New builds a Detector with defaults applied.

func (*Detector) Run

func (d *Detector) Run(ctx context.Context) (<-chan Detection, <-chan error)

Run scans until ctx is done or the target is exhausted. Findings stream on the first channel; non-fatal problems on the second. Both are closed when the scan completes.

func (*Detector) Stats

func (d *Detector) Stats() Stats

Stats returns a point-in-time snapshot of the scan.

type InjectionPoint

type InjectionPoint = injection.InjectionPoint

InjectionPoint is re-exported for callers that render requests themselves.

type Stats

type Stats struct {
	Requests  int64
	Errors    int64
	Points    int
	Findings  int64
	DBMS      string
	StartedAt time.Time
	Elapsed   time.Duration
}

Stats aggregates scan counters.

Directories

Path Synopsis
Package auth covers auth for reaching injection points behind login gates: basic, digest, NTLM, bearer, cookie/form login, and CSRF extraction.
Package auth covers auth for reaching injection points behind login gates: basic, digest, NTLM, bearer, cookie/form login, and CSRF extraction.
Package common provides request plumbing shared by the SQLi detection engine: an HTTP throttle, a response signature / similarity metric, baseline capture and a concurrency-safe metrics meter.
Package common provides request plumbing shared by the SQLi detection engine: an HTTP throttle, a response signature / similarity metric, baseline capture and a concurrency-safe metrics meter.
Package crawler finds potential SQLi targets: it walks a site's HTML, pulls links and forms, and reports URLs with testable parameters.
Package crawler finds potential SQLi targets: it walks a site's HTML, pulls links and forms, and reports URLs with testable parameters.
Package dbms holds hardcoded per-database payload sets used by the detection techniques, plus the fingerprinting logic that narrows which set applies.
Package dbms holds hardcoded per-database payload sets used by the detection techniques, plus the fingerprinting logic that narrows which set applies.
Package enumeration implements post-detection SQL injection data extraction: database enumeration, table/column discovery, and bulk data dumping.
Package enumeration implements post-detection SQL injection data extraction: database enumeration, table/column discovery, and bulk data dumping.
Package injection models injection points (parameters, body fields, headers, cookies, path segments and explicit `*` markers) and renders per-test requests from a base request.
Package injection models injection points (parameters, body fields, headers, cookies, path segments and explicit `*` markers) and renders per-test requests from a base request.
Package session persists long-running SQLi scan state so scans can be resumed across restarts.
Package session persists long-running SQLi scan state so scans can be resumed across restarts.
Package takeover implements post-exploitation through the database server: filesystem read/write/upload, OS command execution with an interactive shell, and (MSSQL only) Windows registry access.
Package takeover implements post-exploitation through the database server: filesystem read/write/upload, OS command execution with an interactive shell, and (MSSQL only) Windows registry access.
Package tamper provides payload mutation transforms that evade WAF and input-filter rules.
Package tamper provides payload mutation transforms that evade WAF and input-filter rules.
Package techniques implements the seven sqlmap-equivalent detection techniques.
Package techniques implements the seven sqlmap-equivalent detection techniques.
Package waf identifies web application firewalls protecting a target using passive header/cookie fingerprints first, then minimal active probes only when passive signals are absent.
Package waf identifies web application firewalls protecting a target using passive header/cookie fingerprints first, then minimal active probes only when passive signals are absent.

Jump to

Keyboard shortcuts

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