protocol

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 11 Imported by: 10

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GlobalUA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" +
	"(KHTML, like Gecko) Chrome/105.0.0.0 Safari/537.36 Edg/105.0.1343.33"

Functions

func CreateRequest

func CreateRequest(verb string, url string, payload string, followRedirect bool) (*http.Client, *http.Request, bool)

func CreateRequestParams

func CreateRequestParams(params map[string]string) string

converts a map of strings into a single string in application/x-www-urlencoded format (but does not encode the params!)

func CreateRequestParamsEncoded

func CreateRequestParamsEncoded(params map[string]string) string

CreateRequestParamsEncoded is the encoded version of CreateRequestParams.

func DoRawHTTPRequest

func DoRawHTTPRequest(rhost string, rport int, uri string, verb string) bool

Go doesn't always like sending our exploit URI so use this raw version. SSL not implemented.

func DoRequest

func DoRequest(client *http.Client, req *http.Request) (*http.Response, string, bool)

func GenerateURL

func GenerateURL(rhost string, rport int, ssl bool, uri string) string

func HTTPSendAndRecv

func HTTPSendAndRecv(verb string, url string, payload string) (*http.Response, string, bool)

func HTTPSendAndRecvNoRedirect

func HTTPSendAndRecvNoRedirect(verb string, url string, payload string) (*http.Response, string, bool)

func HTTPSendAndRecvURLEncoded

func HTTPSendAndRecvURLEncoded(verb string, url string, params map[string]string) (*http.Response, string, bool)

func HTTPSendAndRecvURLEncodedAndHeaders

func HTTPSendAndRecvURLEncodedAndHeaders(verb string, url string, params map[string]string,
	headers map[string]string,
) (*http.Response, string, bool)

func HTTPSendAndRecvURLEncodedParams

func HTTPSendAndRecvURLEncodedParams(verb string, url string, params map[string]string) (*http.Response, string, bool)

func HTTPSendAndRecvURLEncodedParamsAndHeaders

func HTTPSendAndRecvURLEncodedParamsAndHeaders(verb string, url string, params map[string]string,
	headers map[string]string,
) (*http.Response, string, bool)

func HTTPSendAndRecvWithHeaders

func HTTPSendAndRecvWithHeaders(verb string, url string, payload string, headers map[string]string) (*http.Response, string, bool)

func HTTPSendAndRecvWithHeadersNoRedirect

func HTTPSendAndRecvWithHeadersNoRedirect(verb string, url string, payload string,
	headers map[string]string,
) (*http.Response, string, bool)

this naming scheme is a little out of control.

func MultipartAddField

func MultipartAddField(writer *multipart.Writer, name string, value string) bool

func MultipartAddFile added in v1.0.5

func MultipartAddFile(writer *multipart.Writer, name, filename, ctype, value string) bool

func MultipartCreateForm added in v1.0.6

func MultipartCreateForm() (*strings.Builder, *multipart.Writer)

func ParseM2Message

func ParseM2Message(data []byte, msg *M2Message) bool

this switch is cursed. it needs to be broke into manageable functions.

func ReceiveM2

func ReceiveM2(conn *net.TCPConn, msg *M2Message) bool

func SendM2

func SendM2(conn *net.TCPConn, msg *M2Message) bool

func SetRequestHeaders

func SetRequestHeaders(req *http.Request, headers map[string]string)

func TCPConnect

func TCPConnect(host string, port int) (*net.TCPConn, bool)

func TCPReadAmount

func TCPReadAmount(conn *net.TCPConn, amount int) ([]byte, bool)

func TCPWrite

func TCPWrite(conn *net.TCPConn, data []byte) bool

func UDPConnect added in v1.0.2

func UDPConnect(host string, port int) (*net.UDPConn, bool)

func UDPReadAmount added in v1.0.2

func UDPReadAmount(conn *net.UDPConn, amount int) ([]byte, bool)

func UDPWrite added in v1.0.2

func UDPWrite(conn *net.UDPConn, data []byte) bool

Types

type M2Message

type M2Message struct {
	Bools    map[uint32]bool
	U32s     map[uint32]uint32
	Strings  map[uint32][]byte
	Raw      map[uint32][]byte
	ArrayU32 map[uint32][]uint32
	ArrayM2  map[uint32][]*M2Message
}

func NewM2Message

func NewM2Message() *M2Message

func (M2Message) AddBool

func (msg M2Message) AddBool(varname uint32, data bool)

func (M2Message) AddString

func (msg M2Message) AddString(varname uint32, data []byte)

func (M2Message) AddU32

func (msg M2Message) AddU32(varname uint32, data uint32)

func (M2Message) AddU32Array

func (msg M2Message) AddU32Array(varname uint32, data []uint32)

func (M2Message) GetSessionID

func (msg M2Message) GetSessionID() uint32

func (M2Message) Serialize

func (msg M2Message) Serialize() []byte

func (M2Message) SetCommand

func (msg M2Message) SetCommand(command uint32)

func (M2Message) SetReplyExpected

func (msg M2Message) SetReplyExpected(expected bool)

func (M2Message) SetRequestID

func (msg M2Message) SetRequestID(id uint32)

func (M2Message) SetSessionID

func (msg M2Message) SetSessionID(id uint32)

func (M2Message) SetTo

func (msg M2Message) SetTo(to uint32, handler uint32)

Jump to

Keyboard shortcuts

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