task

package
v1.0.8 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2024 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ScanTask added in v1.0.0

type ScanTask struct {
	PerServer map[string]bool // 判断当前目标的 web server 是否扫过  key 为插件名字
	PerFolder map[string]bool // 判断当前目标的目录是否扫过    这里的 key 为插件名_目录名 比如 bbscan_/admin
	PocPlugin map[string]bool // 用来 poc 漏洞模块对应的指纹扫描是否扫,poc 模块依托于指纹识别,只有识别到了才会扫描
	Client    *httpx.Client   // 用来进行请求的 client
	Archive   bool            // 用来判断是否扫描过
	// 限制每个扫描任务同时运行的扫描插件个数
	Wg *sizedwaitgroup.SizedWaitGroup
}

type Task

type Task struct {
	Fingerprints []string                       // 这个只有主动会使用,被动只会新建一个 task,所以不会用到
	Parallelism  int                            // 一个网站同时扫描的最大 url 个数
	Wg           *sizedwaitgroup.SizedWaitGroup // 限制同时运行的任务数量
	ScanTask     map[string]*ScanTask
	Lock         sync.Mutex
	WgLock       sync.Mutex
}

func (*Task) AddWg added in v1.0.8

func (t *Task) AddWg(host string)

func (*Task) Distribution

func (t *Task) Distribution(in *input.CrawlResult)

Distribution 对爬虫结果或者被动发现结果进行任务分发

func (*Task) DoneWg added in v1.0.8

func (t *Task) DoneWg(host string)

func (*Task) PerFile added in v1.0.0

func (t *Task) PerFile(in *input.CrawlResult)

PerFile 针对每个链接, 去重的操作不在这里进行,具体的逻辑在插件内部实现

func (*Task) PerFolder added in v1.0.0

func (t *Task) PerFolder(in *input.CrawlResult)

func (*Task) PerServer added in v1.0.0

func (t *Task) PerServer(in *input.CrawlResult)

PerServer 针对每个域名,只会执行一次

func (*Task) Run added in v1.0.0

func (t *Task) Run(in *input.CrawlResult)

func (*Task) WaitWg added in v1.0.8

func (t *Task) WaitWg(host string)

Jump to

Keyboard shortcuts

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