Class NucleiCodeRequest

Namespace
Kuestenlogik.Bowire.Security.Templates.Nuclei
Assembly
Kuestenlogik.Bowire.Security.Templates.Nuclei.dll

One entry in the code: or javascript: array (#491, #35 Phase 2g).

public sealed class NucleiCodeRequest
Inheritance
NucleiCodeRequest
Inherited Members

Remarks

The two block names are NOT the same thing and are deliberately not flattened together. code: names an interpreter and hands it source, which a subprocess can run. javascript: runs inside Nuclei's own embedded JS runtime and calls its nuclei/* module library (require("nuclei/mysql") and friends); handing that to node would fail on the very first require. Both are read so the scanner can account for them, and IsNucleiJavaScript is what lets it say which one it is refusing and why.

Constructors

NucleiCodeRequest()

public NucleiCodeRequest()

Properties

Engine

Interpreter candidates, in the template's order of preference (py, python3, bash, …). Empty for a javascript: block.

public List<string> Engine { get; init; }

Property Value

List<string>

IsNucleiJavaScript

True when this came from a javascript: block, which needs Nuclei's embedded runtime rather than an interpreter.

public bool IsNucleiJavaScript { get; set; }

Property Value

bool

Matchers

Matchers over the program's output.

public List<NucleiMatcher> Matchers { get; init; }

Property Value

List<NucleiMatcher>

MatchersCondition

How matchers compose: and / or (default).

public string MatchersCondition { get; set; }

Property Value

string

Source

The program to run.

public string Source { get; set; }

Property Value

string