红队专题-Golang工具ChYing

这篇具有很好参考价值的文章主要介绍了红队专题-Golang工具ChYing。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

红队专题-Golang工具ChYing,web

招募六边形战士队员

一起学习 代码审计、安全开发、web攻防、逆向等。。。
私信联系
红队专题-Golang工具ChYing,web

原chying工具代码分析

前有 Chying 后有 Tscanplus
红队专题-Golang工具ChYing,web

并发访问控制

type SMap struct {
	sync.RWMutex   // 标准读写锁
	Map map[int]*HTTPBody
}

并发 原子 写入

func (l *SMap) WriteMap(key int, value *HTTPBody) {
	l.Lock()
	l.Map[key] = value
	l.Unlock()   //释放写锁
}

读取

//使用读写锁来允许多个 goroutine 同时读取数据,而不会相互阻塞。
func (l *SMap) ReadMap(key int) *HTTPBody {
	l.RLock()   //读锁
	value, _ := l.Map[key]  //若给定的键不存在于 Map 中,返回的值将为 nil。
	l.RUnlock()
	return value
}

通道

// HttpHistory 接受 mitmproxy 代理信息
var HttpHistory chan HTTPHistory

嵌套映射结构

// RepeaterBodyMap Repeater 中回退、前进使用 todo前端还未实现
var RepeaterBodyMap map[string]map[int]*HTTPBody文章来源地址https://www.toymoban.com/news/detail-812613.html

初始化

func init() {
	HttpHistory = make(chan HTTPHistory, 1)   //创建一个缓冲大小为 1 的通道

	HTTPBodyMap = &SMap{
		Map: make(map[int]*HTTPBody),   //创建一个空的 map[int]*HTTPBody 映射
	}

	IntruderMap = make(map[string]*SMap)

	RepeaterBodyMap = make(map[string]map[int]*HTTPBody)
}

启动代理服务器

func Run(port int) {
	opts := &proxy.Options{   //配置代理服务器的选项
		Debug:             2,
		Addr:              fmt.Sprintf(":%d", port),
		StreamLargeBodies: 1024 * 1024 * 5,  //数据的阈值
		SslInsecure:       false,   //不安全选项
		CaRootPath:        "",   //CA 根证书路径
	}

	var err error
	Proxy, err = proxy.NewProxy(opts)
	if err != nil {
		logging.Logger.Fatal(err)
	}

	// 这种不错,通过添加插件的形式,这样只要实现了接口,p.AddAddon(xxxx), 然后就会自动执行相应的操作
	// 添加一个日志记录插件
	//Proxy.AddAddon(&proxy.LogAddon{})

	Proxy.AddAddon(&Burp{})  //向代理服务器添加一个 Burp 插件

	logging.Logger.Errorln(Proxy.Start())  //程序在该函数调用处阻塞,直到代理服务器停止运行。
}

重启代理服务器

func Restart(port int) string {
	// 先关闭然后再启动
	err := Proxy.Shutdown(context.TODO())   //关闭代理服务器
	if err != nil {
		logging.Logger.Errorln(err)
		return err.Error()
	}
	go Run(port)  //放入一个新的 goroutine 中运行
	//避免阻塞主程序,使其继续执行其他任务。
	return ""
}

vite 构建前端页面

ChYing-main\frontend> 

npm install vite
vite build

编译

go install github.com/wailsapp/wails/v2/cmd/wails@latest 安装 Wails CLI。 
go: downloading github.com/wailsapp/wails/v2 v2.7.1
go: downloading github.com/wailsapp/wails v1.16.9
go: downloading github.com/jaypipes/ghw v0.12.0
go: downloading github.com/leaanthony/clir v1.3.0
go: downloading github.com/flytam/filenamify v1.0.0
go: downloading github.com/pterm/pterm v0.12.49
go: downloading github.com/tidwall/sjson v1.1.7
go: downloading github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d
go: downloading github.com/fsnotify/fsnotify v1.4.9
go: downloading github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
go: downloading github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06
go: downloading golang.org/x/mod v0.12.0
go: downloading github.com/wzshiming/ctc v1.2.3
go: downloading github.com/Masterminds/semver v1.5.0
go: downloading github.com/charmbracelet/glamour v0.5.0
go: downloading github.com/wailsapp/go-webview2 v1.0.10
go: downloading github.com/jackmordaunt/icns v1.0.0
go: downloading github.com/leaanthony/winicon v1.0.0
go: downloading github.com/tc-hib/winres v0.2.1
go: downloading github.com/go-git/go-git/v5 v5.3.0
go: downloading github.com/tidwall/gjson v1.9.3
go: downloading atomicgo.dev/cursor v0.1.1
go: downloading atomicgo.dev/keyboard v0.2.8
go: downloading github.com/gookit/color v1.5.2
go: downloading github.com/lithammer/fuzzysearch v1.1.5
go: downloading github.com/mattn/go-runewidth v0.0.13
go: downloading golang.org/x/term v0.13.0
go: downloading golang.org/x/sys v0.13.0
go: downloading github.com/wzshiming/winseq v0.0.0-20200112104235-db357dc107ae
go: downloading github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
go: downloading github.com/StackExchange/wmi v1.2.1
go: downloading github.com/jaypipes/pcidb v1.0.0
go: downloading github.com/ghodss/yaml v1.0.0
go: downloading github.com/muesli/termenv v0.9.0
go: downloading github.com/yuin/goldmark v1.4.13
go: downloading github.com/yuin/goldmark-emoji v1.0.1
go: downloading golang.org/x/image v0.12.0
go: downloading github.com/go-git/go-billy/v5 v5.2.0
go: downloading github.com/imdario/mergo v0.3.12
go: downloading golang.org/x/crypto v0.14.0
go: downloading github.com/containerd/console v1.0.3
go: downloading github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778
go: downloading github.com/alecthomas/chroma v0.10.0
go: downloading github.com/microcosm-cc/bluemonday v1.0.17
go: downloading github.com/muesli/reflow v0.3.0
go: downloading github.com/mitchellh/go-homedir v1.1.0
go: downloading github.com/lucasb-eyer/go-colorful v1.2.0
go: downloading github.com/emirpasic/gods v1.12.0
go: downloading github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99
go: downloading github.com/dlclark/regexp2 v1.4.0
go: downloading golang.org/x/net v0.17.0
go: downloading github.com/go-git/gcfg v1.5.0
go: downloading github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351
go: downloading github.com/xanzy/ssh-agent v0.3.0
go: downloading gopkg.in/warnings.v0 v0.1.2
go: downloading github.com/Microsoft/go-winio v0.4.16



wails build
Wails CLI v2.7.1


# Build Options

Platform(s)        | windows/amd64
Compiler           | D:\golang\bin\go.exe
Skip Bindings      | false
Build Mode         | production
Devtools           | false
Frontend Directory | E:\code\go_test\ChYing-main\frontend
Obfuscated         | false
Skip Frontend      | false
Compress           | false
Package            | true
Clean Bin Dir      | false
LDFlags            | 
Tags               | []
Race Detector      | false
Warning: go.mod is using Wails '2.5.1' but the CLI is 'v2.7.1'. Consider updating your project's `go.mod` file.Generating bindings: Done.
  • Installing frontend dependencies: Done.Compiling frontend: Done.
  • Generating application assets: Done.Compiling application: Done.
 INFO  Wails is now using the new Go WebView2Loader. If you encounter any issues with it, please report them to https://github.com/wailsapp/wails/issues/2004. You could also use the old legacy loader with `-tags native_webview2loader`, but keep in mind this will be deprecated in the near future.
Built 'E:\code\go_test\ChYing-main\build\bin\ChYing.exe' in 53.613s.

 ♥   If Wails is useful to you or your company, please consider sponsoring the project:
https://github.com/sponsors/leaanthony

到了这里,关于红队专题-Golang工具ChYing的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一款强大的红队信息收集和资产收集工具(Kscan)

    Kscan是一款纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别等功能。支持协议1200+,协议指纹10000+,应用指纹2000+,暴力PJ协议10余种。 Kscan能够接受多种输入格式,无需在使用之前对扫描对象进行分类,比如区分为IP,还是URL地址等,这对于使用者来说无疑是徒

    2023年04月08日
    浏览(42)
  • Above:一款专为红队设计的隐蔽型网络协议嗅探工具

    Above是一款专为红队研究人员设计的网络协议嗅探工具,该工具隐蔽型极强,可以帮助广大研究人员搜索目标网络中的相关安全漏洞。 Above可以帮助渗透测试人员和安全专家搜索目标网络设备中的安全漏洞,该工具完全基于网络流量来执行安全分析,因此不会在网络系统中产

    2024年01月23日
    浏览(44)
  • Say0l的安全开发-弱口令扫描工具-My-crack【红队工具】

    终于终于,安全开发也练习一年半了,有时间完善一下项目,写写中间踩过的坑。 安全开发的系列全部都会上传至 github ,欢迎使用和 star 。 https://github.com/SAY0l/my-crack 更适合中国宝宝的弱口令扫描器 当前核心支持 ftp/mongodb/mysql/mssql/postgre/redis/ssh 的弱口令扫描 提供了编译后

    2024年02月09日
    浏览(42)
  • Golang每日一练(leetDay0049) 二叉树专题(9)

    目录 144. 二叉树的前序遍历 Binary-tree Preorder Traversal  🌟 145. 二叉树的前序遍历 Binary-tree Postorder Traversal  🌟 对比: 94. 二叉树的中序遍历 Binary-tree Inorder Traversal  🌟 146. LRU缓存 LRU Cache  🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C++每日一

    2024年02月04日
    浏览(42)
  • web路径专题+会话技术

    自定义idea快捷键 首先找到你想做的快捷键的位置, 鼠标停留上去, 浮出一个标签, 根据②和③来找到该按钮在keymap(键映射)中的位置 问题: 1.使用相对路径来解决, 有一个非常重要的原则: 页面所有的相对路径, 在 默认情况 下, 都会参考当前浏览器地址栏的路径 http://ip:port/工程

    2023年04月12日
    浏览(30)
  • JAVAWeb09-WEB 工程路径专题

    先看一个问题 index.html OkServlet.java web.xml 问题分析 思考:怎么解决访问资源的问题? 说明 : 使用相对路径来解决,一个 非常重要的规则 :页面所有的相对路径, 在默认情况下 ,都会参考当前浏览器地址栏的路径 http://ip:port/工程名/ + 资源 来进行跳转。所以我们可以直接这

    2023年04月26日
    浏览(32)
  • 渗透专题丨web Top10 漏洞简述(2)

    1、漏洞简述 程序在引用文件的时,引用的文件名,用户可控的情况,传入的文件名校验不严,从而操作了预想之外的文件,就有可能导致文件泄漏和恶意的代码注入。这是因为程序开发时候会把重复使用的函数写到归档在一起,用到哪个函数就可以直接进行调用,而为了代

    2024年02月09日
    浏览(33)
  • 通付盾Web3专题 | 智能账户:数字时代基础单元

    2008年10月31日,中本聪(Satoshi Nakamoto)在P2P foundation 网站发布比特币白皮书《比特币:一种点对点的电子现金系统》。转眼距比特币白皮书发布已过去15年。2009年1月比特币网络正式推出,当时每个比特币的价格仅为0.0008 美元。今天,比特币报价34,546.17 美元,总市值超过670

    2024年02月06日
    浏览(45)
  • 通付盾Web3专题 | KYT/AML:Web3合规展业的必要条件

    与传统证券一样,基于区块链技术发展出来的虚拟资产交易所经历了快速发展而缺乏有效监管的行业早期。除了科技光环加持的各种区块链项目方、造富神话之外,交易所遭到黑客攻击、内部偷窃作恶、甚至经营主体异常而致使投资人血本无归的案例亦令人触目惊心。之前的

    2024年02月03日
    浏览(42)
  • Golang Web框架性能对比

    Golang Web框架性能对比 github star排名依次: Gin Beego Iris Echo Revel Buffalo 性能上gin、iris、echo网上是给的数据都是五星,beego三星,revel两星 beego是国产,有中文文档,文档齐全 根据star数,性能,易用程度,社区活跃度和具体应用场景来选择的话,当前我更加倾向于使用gin作为基础开

    2024年01月24日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包