Skip to content

Commit

Permalink
保存 burpsuite 的配置
Browse files Browse the repository at this point in the history
  • Loading branch information
yhy0 committed May 18, 2023
1 parent 1191a88 commit 2be900c
Show file tree
Hide file tree
Showing 10 changed files with 747 additions and 32 deletions.
54 changes: 39 additions & 15 deletions app.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package main
import (
"context"
"encoding/json"
"fmt"
uuid "github.com/satori/go.uuid"
"github.com/wailsapp/wails/v2/pkg/runtime"
"github.com/yhy0/ChYing/conf"
Expand Down Expand Up @@ -35,6 +36,9 @@ func (a *App) startup(ctx context.Context) {
a.ctx = ctx
burpSuite.Ctx = ctx
// 启动中间人代理
burpSuite.Init()
burpSuite.HotConf()

go burpSuite.Run(burpSuite.Settings.ProxyPort)

runtime.EventsEmit(ctx, "ProxyPort", burpSuite.Settings.ProxyPort)
Expand Down Expand Up @@ -172,27 +176,47 @@ func (a *App) FuzzStop() {

// Settings 配置
func (a *App) Settings(setting burpSuite.SettingUI) string {
logging.Logger.Infoln(setting)

if burpSuite.Settings.ProxyPort == setting.ProxyPort {
return ""
}

if utils.IsPortOccupied(setting.ProxyPort) {
if burpSuite.Settings.ProxyPort != setting.ProxyPort && utils.IsPortOccupied(setting.ProxyPort) {
return "端口被占用"
} else {
err := burpSuite.Restart(setting.ProxyPort)
logging.Logger.Errorln(err)
if err != "" {
return err
if burpSuite.Settings.ProxyPort != setting.ProxyPort {
err := burpSuite.Restart(setting.ProxyPort)
if err != "" {
logging.Logger.Errorln(err)
return err
}
}

burpSuite.Settings.ProxyPort = setting.ProxyPort
burpSuite.Settings.Exclude = strings.Split(setting.Exclude, "\r\n")
burpSuite.Settings.Include = strings.Split(setting.Include, "\r\n")
burpSuite.Settings.Exclude = utils.SplitStringByLines(setting.Exclude)
burpSuite.Settings.Include = utils.SplitStringByLines(setting.Include)

runtime.EventsEmit(a.ctx, "ProxyPort", burpSuite.Settings.ProxyPort)
runtime.EventsEmit(a.ctx, "Exclude", burpSuite.Settings.Exclude)
runtime.EventsEmit(a.ctx, "Include", burpSuite.Settings.Include)
runtime.EventsEmit(a.ctx, "Exclude", strings.Join(burpSuite.Settings.Exclude, "\r\n"))
runtime.EventsEmit(a.ctx, "Include", strings.Join(burpSuite.Settings.Include, "\r\n"))

// 更改配置文件
exclude := ""
if len(burpSuite.Settings.Exclude) == 0 {
exclude = " - \r\n"
} else {
for _, e := range burpSuite.Settings.Exclude {
exclude += fmt.Sprintf(" - %s\r\n", e)
}
}

include := ""
if len(burpSuite.Settings.Include) == 0 {
include = " - \r\n"
} else {
for _, i := range burpSuite.Settings.Include {
include += fmt.Sprintf(" - %s\r\n", i)
}
}
var defaultYamlByte = []byte(fmt.Sprintf("port: %d\r\nexclude:\r\n%sinclude:\r\n%s", burpSuite.Settings.ProxyPort, exclude, include))

burpSuite.WriteYamlConfig(defaultYamlByte)

return ""
}
}
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/components/burpsuite/Settings.vue
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ EventsOn("ProxyPort", result => {
EventsOn("Exclude", result => {
formValue.value.exclude = result
console.log(formValue.value.exclude)
});
EventsOn("Include", result => {
formValue.value.include = result
Expand Down Expand Up @@ -92,6 +93,7 @@ const submitForm = () => {
formRef.value?.validate((valid) => {
if (!valid) {
// 表单验证通过
console.log(formValue.value)
Settings(formValue.value).then((result) => {
if(result === "") {
message.success('设置成功');
Expand Down
13 changes: 13 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ require (
github.com/antlabs/strsim v0.0.3
github.com/buger/jsonparser v1.1.1
github.com/corpix/uarand v0.2.0
github.com/fsnotify/fsnotify v1.6.0
github.com/golang-jwt/jwt v3.2.2+incompatible
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
github.com/pkg/errors v0.9.1
Expand All @@ -16,6 +17,7 @@ require (
github.com/samber/lo v1.38.1
github.com/satori/go.uuid v1.2.0
github.com/sirupsen/logrus v1.9.0
github.com/spf13/viper v1.15.0
github.com/thoas/go-funk v0.9.3
github.com/tidwall/match v1.1.1
github.com/wailsapp/wails/v2 v2.4.1
Expand All @@ -32,6 +34,7 @@ require (
github.com/go-ole/go-ole v1.2.6 // indirect
github.com/google/uuid v1.3.0 // indirect
github.com/gorilla/css v1.0.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/jchv/go-winloader v0.0.0-20210711035445-715c2860da7e // indirect
github.com/kr/pretty v0.3.1 // indirect
github.com/labstack/echo/v4 v4.10.2 // indirect
Expand All @@ -42,16 +45,24 @@ require (
github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect
github.com/lestrrat-go/strftime v1.0.6 // indirect
github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
github.com/magiconair/properties v1.8.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.18 // indirect
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
github.com/microcosm-cc/bluemonday v1.0.23 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8 // indirect
github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
github.com/sergi/go-diff v1.3.1 // indirect
github.com/spaolacci/murmur3 v1.1.0 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.4.2 // indirect
github.com/tkrajina/go-reflector v0.5.6 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/valyala/fasttemplate v1.2.2 // indirect
Expand All @@ -63,4 +74,6 @@ require (
golang.org/x/term v0.7.0 // indirect
golang.org/x/text v0.9.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

0 comments on commit 2be900c

Please sign in to comment.