http_tester

package
v0.0.0-...-3d9a477 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2023 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GetAlternatives = []string{"POST", "PUT", "PATCH", "DELETE", "XXX", " "}
View Source
var HTTPHeaders = []string{"Accept: text/html", "Accept: application/xml", "Accept: text/html,application/xhtml+xml", "Accept: application/json", "Accept: xxx", "Accept-Charset: utf-8", "Accept-Charset: xxx", "Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT", "Accept-Datetime: xxx", "Accept-Encoding: gzip, deflate", "Accept-Encoding: xxx", "Accept-Language: en-US", "Accept-Language: xxx", "Access-Control-Request-Method: GET", "Access-Control-Request-Method: xxx", "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", "Cache-Control: no-cache", "Cache-Control: xxx", "Connection: keep-alive", "Connection: xxx", "Content-Encoding: gzip", "Content-Encoding: xxx", "Content-Length: 1000", "Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==", "Content-Type: application/x-www-form-urlencoded", "Content-Type: xxx", "Cookie: $Version=1; Skin=new;", "Cookie: xxx", "Date: Tue, 15 Nov 1994 08:12:31 GMT", "Expect: 100-continue", "Expect: xxx", "From: user@example.com", "If-Match: \"737060cd8c284d8af7ad3082f209582d\"", "If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT", "If-None-Match: \"737060cd8c284d8af7ad3082f209582d]\"", "If-Range: \"737060cd8c284d8af7ad3082f209582d\"", "If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT", "Max-Forwards: 10", "Max-Forwards: xxx", "Origin: http://www.example-xxx.com", "Pragma: no-cache", "Pragma: xxx", "Prefer: return=representation", "Prefer: xxx", "Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", "Range: bytes=500-999", "Referer: http://example-xxx.com", "TE: trailers, deflate", "Trailer: Max-Forwards", "Trailer: xxx", "Transfer-Encoding: chunked", "Transfer-Encoding: xxx", "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0", "User-Agent: xxx", "Upgrade: h2c, HTTPS/1.3, IRC/6.9, RTA/x11, websocket", "Upgrade: xxx", "Via: 1.0 fred, 1.1 example-xxx.com (Apache/1.1)", "Warning: 199 Miscellaneous warning", "Warning: xxx"}
View Source
var HostAlternatives = []string{"XXXX: ", "XXXX:", "Host:\r\n", "Hostwww.", "Host:www.", "HostHeader:", " "}
View Source
var HttpAlternatives = []string{"XXXX/1.1", "HTTP/11.1", "HTTP/1.12", "/11.1", "HTTP2", "HTTP3", "HTTP9", "HTTP/2", "HTTP/3", "HTTP/9", " ", "HTTPx/1.1", "HTTP /1.1", "HTTP/ 1.1", "HTTP/1.1x", "HTTP/x1.1"}
View Source
var PathAlternatives = []string{"/ ", " z ", " ? ", " ", " /", "**", " /x", "x/ "}
View Source
var Subdomains = []string{"www", "mail", "forum", "m", "blog", "shop", "forums", "wiki", "community", "ww1"}

https://securitytrails.com/blog/most-popular-subdomains-mx-records#:~:text=As%20you%20can%20see%2C%20the,forums%2C%20wiki%2C%20community).

View Source
var TLDs = []string{"com", "xyz", "net", "club", "me", "org", "co", "shop", "info", "live"}

https://azbigmedia.com/business/here-are-2021s-most-popular-tlds-and-domain-registration-trends/

Functions

func CapitalizedPermutations

func CapitalizedPermutations(ip string, op string) []string

func FormatHttpRequest

func FormatHttpRequest(requestWord RequestWord) string

func GenerateAllAlternatives

func GenerateAllAlternatives(alternatives []string) []string

func GenerateAllCapitalizedPermutations

func GenerateAllCapitalizedPermutations(word string) []string

func GenerateAllGetAlternatives

func GenerateAllGetAlternatives() []string

func GenerateAllHeaderAlternatives

func GenerateAllHeaderAlternatives() []string

func GenerateAllHostAlternatives

func GenerateAllHostAlternatives() []string

func GenerateAllHostNameAlternatives

func GenerateAllHostNameAlternatives(hostname string) []string

func GenerateAllHostNamePaddings

func GenerateAllHostNamePaddings(hostname string) []string

func GenerateAllHttpAlternatives

func GenerateAllHttpAlternatives() []string

func GenerateAllPathAlternatives

func GenerateAllPathAlternatives(hostname string) []string

func GenerateAllSubdomainsAlternatives

func GenerateAllSubdomainsAlternatives(hostname string) []string

func GenerateAllSubstringPermutations

func GenerateAllSubstringPermutations(word string) []string

func GenerateAllTLDAlternatives

func GenerateAllTLDAlternatives(hostname string) []string

func GenerateAlternatives

func GenerateAlternatives(alternatives []string) string

func GenerateGetAlternatives

func GenerateGetAlternatives() string

func GenerateHeaderAlternatives

func GenerateHeaderAlternatives() string

func GenerateHostAlternatives

func GenerateHostAlternatives() string

func GenerateHostNameAlternatives

func GenerateHostNameAlternatives() string

func GenerateHostNameRandomPadding

func GenerateHostNameRandomPadding() string

func GenerateHttpAlternatives

func GenerateHttpAlternatives() string

func GeneratePathAlternatives

func GeneratePathAlternatives() string

func GenerateRandomCapitalizedValues

func GenerateRandomCapitalizedValues(word string) string

func GenerateRandomlyRemovedWord

func GenerateRandomlyRemovedWord(word string) string

func GenerateSubdomainsAlternatives

func GenerateSubdomainsAlternatives() string

func GenerateTLDAlternatives

func GenerateTLDAlternatives() string

func SendHTTPRequest

func SendHTTPRequest(domain string, ip string, port int, req string, redirectHost string) (int, string, string, error)

SendHTTPRequest Returns result_code, response_body, redirect_url (if redirection)

Result Code Entry
=========================
-10: unhandled error
-9: error in echo server
-3: Server not open to US
-2: IP not open to US
-1: proxy error
0: success
1: reset
2: refused
3: silent drop
4: TODO: throttle
3xx: redirection
4xx: not accessible
5xx: internal server error

func SendHTTPRequestNormally

func SendHTTPRequestNormally(domain string, ip string, port int) (int, string, error)

Types

type FilteredHTTP

type FilteredHTTP struct {
	Component   string `json:"component,omitempty"`
	ResultCode  int    `json:"result_code,omitempty"`
	RedirectURL string `json:"redirect_url,omitempty"`
}

func CheckGetWordAlternate

func CheckGetWordAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckGetWordCapitalize

func CheckGetWordCapitalize(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckGetWordRemove

func CheckGetWordRemove(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHTMLTitle

func CheckHTMLTitle(domain string) []FilteredHTTP

CheckHTMLTitle Checks whether HTML <title> tag is used for filtering Sets 399 as result code if it does not contain the correct magic word

func CheckHTMLTokens

func CheckHTMLTokens(domain string) ([]FilteredHTTP, error)

func CheckHTTPDelimiterWordRemove

func CheckHTTPDelimiterWordRemove(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHTTPHeaderHost

func CheckHTTPHeaderHost(domain string) (int, []FilteredHTTP)

CheckHTTPHeaderHost Checks whether wildcard-based filtering is used based on HTTP Host field Sets 399 as result code if it does not contain the correct magic word

Output Chart
====================
0: success
1: exact-match
2: wildcard-based

func CheckHTTPWordAlternate

func CheckHTTPWordAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHTTPWordCapitalize

func CheckHTTPWordCapitalize(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHTTPWordRemove

func CheckHTTPWordRemove(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHeaderAlternate

func CheckHeaderAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostWordAlternate

func CheckHostWordAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostWordCapitalize

func CheckHostWordCapitalize(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostWordRemove

func CheckHostWordRemove(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostnameAlternate

func CheckHostnameAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostnamePadding

func CheckHostnamePadding(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostnameSubdomainAlternate

func CheckHostnameSubdomainAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckHostnameTLDAlternate

func CheckHostnameTLDAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func CheckPathAlternate

func CheckPathAlternate(hostname string, ip string, redirectHost string) []FilteredHTTP

func FuzzSender

func FuzzSender(hostname string, ip string, req string, component string, redirectHost string) *FilteredHTTP

type HTTPConnectivityResult

type HTTPConnectivityResult struct {
	ResultCode  int    `json:"result_code,omitempty"`
	RedirectURL string `json:"redirect_url,omitempty"`
}

func CheckHTTPConnectivity

func CheckHTTPConnectivity(domain string, ip string) HTTPConnectivityResult

CheckHTTPConnectivity Check basic HTTP connectivity to the domain

type HTTPResult

type HTTPResult struct {
	Connectivity         HTTPConnectivityResult `json:"connectivity"`
	HeaderHost           []FilteredHTTP         `json:"header_host,omitempty"`
	HtmlTitle            []FilteredHTTP         `json:"html_title"`
	HtmlTokens           []FilteredHTTP         `json:"html_tokens,omitempty"`
	HostnamePadding      []FilteredHTTP         `json:"hostname_padding,omitempty"`
	GetCapitalize        []FilteredHTTP         `json:"get_capitalize,omitempty"`
	GetRemove            []FilteredHTTP         `json:"get_remove,omitempty"`
	GetAlternate         []FilteredHTTP         `json:"get_alternate,omitempty"`
	HttpCapitalize       []FilteredHTTP         `json:"http_capitalize,omitempty"`
	HttpRemove           []FilteredHTTP         `json:"http_remove,omitempty"`
	HttpAlternate        []FilteredHTTP         `json:"http_alternate,omitempty"`
	HostCapitalize       []FilteredHTTP         `json:"host_capitalize,omitempty"`
	HostRemove           []FilteredHTTP         `json:"host_remove,omitempty"`
	HostAlternate        []FilteredHTTP         `json:"host_alternate,omitempty"`
	HttpDelimiterRemove  []FilteredHTTP         `json:"http_delimiter_remove,omitempty"`
	PathAlternate        []FilteredHTTP         `json:"path_alternate,omitempty"`
	HeaderAlternate      []FilteredHTTP         `json:"header_alternate,omitempty"`
	HostnameAlternate    []FilteredHTTP         `json:"hostname_alternate,omitempty"`
	HostnameTLDAlternate []FilteredHTTP         `json:"hostname_tld_alternate,omitempty"`
	SubdomainAlternate   []FilteredHTTP         `json:"subdomain_alternate,omitempty"`
}

func TestHTTP

func TestHTTP(ip string, domain string) HTTPResult

type RequestWord

type RequestWord struct {
	Hostname          string
	GetWord           string `default:"GET"`
	HttpWord          string `default:"HTTP/1.1"`
	HostWord          string `default:"Host:"`
	HttpDelimiterWord string `default:"\r\n"`
	Path              string `default:"/"`
	Header            string `default:""`
}

Jump to

Keyboard shortcuts

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