iisgate

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: 6 Imported by: 0

Documentation

Overview

Package iisgate provides an active, cached confirmation that a host genuinely runs IIS/ASP.NET before the heavier IIS modules probe it. Passive header or tech-registry signals (Server: Microsoft-IIS, X-AspNet-Version, ASP.NET cookies) can be spoofed by an unrelated proxy, so the IIS modules combine those with the behavioral check here: only a real ASP.NET pipeline strips a cookieless (S(token)) segment from the path and still resolves the request.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ConfirmIISBehavior

func ConfirmIISBehavior(host string, ctx *httpmsg.HttpRequestResponse, client *http.Requester) bool

ConfirmIISBehavior actively verifies that host exhibits ASP.NET/IIS cookieless path normalization and caches the verdict per host (so it runs at most once per host across all IIS modules). It anchors on the site root, then confirms that wrapping it in a (S(token)) cookieless segment resolves to the SAME resource (the token was stripped) while a random path does NOT (ruling out a catch-all that echoes one page for everything). A spoofed Server header cannot fake this, so a positive result means the target really is running ASP.NET.

func IsIIS

func IsIIS(ctx *httpmsg.HttpRequestResponse, scanCtx *modkit.ScanContext, host string, client *http.Requester) bool

IsIIS is the full gate for the heavier IIS modules: passive detection (LooksLikeIIS) AND active behavioral confirmation (ConfirmIISBehavior, cached per host). A spoofed Server header alone therefore never passes.

func LooksLikeIIS

func LooksLikeIIS(ctx *httpmsg.HttpRequestResponse, scanCtx *modkit.ScanContext, host string) bool

LooksLikeIIS is the passive gate: this record's headers, or the shared per-host tech registry (populated by the passive aspnet_fingerprint module), indicate IIS/ASP.NET.

func ResetCache

func ResetCache()

ResetCache clears the per-host verdict cache (test helper).

func RespLooksIIS

func RespLooksIIS(resp *httpmsg.HttpResponse) bool

RespLooksIIS reports whether a response's headers advertise IIS/ASP.NET.

Types

This section is empty.

Jump to

Keyboard shortcuts

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