Skip to content

code-scan/Goal

Repository files navigation

Goal Go Red-Team 工具类

文档可能更新不及时,具体使用可以看tests中的文件

基于该项目我写了:

Ghttp client

使用方法

发送Get请求

httpClient=Ghttp.http{} httpClient.Get("https://baidu.com") httpClient.Execute()

发送Post请求

httpClient=Ghttp.http{} httpClient.Post("https://baidu.com","a=1&b=1") httpClient.Execute()
httpClient=Ghttp.http{} param:=url.Values{"name":{"values"}, } httpClient.Post("https://baidu.com",param) httpClient.Execute()

开启Session 自动记录cookie

httpClient:=Ghttp.New() httpClient.Session() httpClient.New("GET","https://www.baidu.com") httpClient.Execute()

发送Post Json请求

httpClient=Ghttp.http{} jsonData:=make(map[string]interface{}) jsonData["key"]="value"jsonData["json2"]=make(map[string]interface{}) jsonData["json2"]["data"]="1234"httpClient.Post("https://baidu.com",jsonData) httpClient.Execute()

获取字符串返回值

responseText:=httpclient.Text() log.Println(responseText)

获取Byte返回值

responseByte:=httpclient.Byte() log.Println(responseByte)

获取StatusCode

code:=httpclient.StatusCode() log.Println(code)

设置代理

httpClient.SetProxy("http://127.0.0.1:6152") httpClient.SetProxy("socks5://ss:[email protected]:6153")

Gconvert 类型转化

vari="1234567"varf="123456.2345"varff=12345.6789varii=1234567log.Println(ii, Gconvert.Int2String(ii)) log.Println(ff, Gconvert.Int2String(ff)) log.Println(i, Gconvert.Str2Int(i)) log.Println(f, Gconvert.Str2Int(f)) log.Println(f, Gconvert.Str2Float(f)) log.Println(f, Gconvert.Str2Float64(f)) log.Println(i, Gconvert.Str2Float(i)) log.Println(i, Gconvert.Str2Float64(i)) log.Println(convert.Str2Url("1")) log.Println("encode base64 ",Gconvert.B64Encode("12312312")) log.Println("decode base64 ",Gconvert.B64Decode("324 d")) log.Println("urlencode ",Gconvert.UrlEncode("324=1;sd;'123 d")) log.Println("urldecode ",Gconvert.UrlDecode("%25%27%22")) log.Println("rawurl ",Gconvert.RawDecode("%25%27%22")) log.Println("raw encode ",Gconvert.RawEncode("324=1;sd;'123 d"))

输出

===RUNTestConvert2021/03/3017:38:00123456712345672021/03/3017:38:0012345.678912345.67892021/03/3017:38:00123456712345672021/03/3017:38:00 [!] Str2IntError: strconv.Atoi: parsing"123456.2345": invalidsyntax2021/03/3017:38:00123456.234502021/03/3017:38:00123456.2345123456.2342021/03/3017:38:00123456.2345123456.23452021/03/3017:38:0012345671.234567e+062021/03/3017:38:0012345671.234567e+062021/03/3017:38:0012021/03/3017:38:00encodebase64MTIzMTIzMTI=2021/03/3017:38:00 [!] b64decodeError: illegalbase64dataatinputbyte32021/03/3017:38:00decodebase642021/03/3017:38:00urlencode324%3D1%3Bsd%3B%27123%20d2021/03/3017:38:00urldecode%'" 2021/03/3017:38:00rawurl%'" 2021/03/3017:38:00rawencode324%3D1%3Bsd%3B%27123%20d---PASS: TestConvert (0.00s) ```# Goal ## Gnet网络相关 ### TCP端口检测 ```go// 参数分别为 ip,端口,超时// 返回bool Gnet.TcpPortStatus("127.0.0.1", 80, 30) 

Ping主机存活

// 返回bool 需要root权限Gnet.PingHost("127.0.0.1")

CIDR生成IP列表

// 返回[]stringr:=Gnet.GetIPList("192.168.1.1/24")

Gsensor 第三方API

Fofa

  • 端口获取
  • 子域名获取
  • 同服获取

具体代码可看tests/sensor_test.go

SecurityTrails

  • A记录历史解析
  • 子域名获取
  • 同服获取

具体代码可看tests/sensor_test.go

Shodan

  • 端口获取

Bufferover

  • 子域名获取 具体代码可看tests/sensor_test.go

Crt.sh

  • 子域名获取

具体代码可看tests/sensor_test.go

Gproxy 反向Socks5代理

// 服务端运行goGproxy.ClientWait("8888") // 监听客户端端口,等待客户端链接goGproxy.ServerWait("8889") // 服务端端口,用户链接用于代理// 客户端运行Gproxy.RunProxy("127.0.0.1:8888")

About

Goal Go Red-Team 工具类

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages