结合两份代码文件,系统实现了一个完整的 Web 安全扫描工具,并支持从 YAML 配置文件中动态加载正则表达式规则。主要功能包括:
正则表达式动态加载:
python for i in y["patterns"]: r = i["pattern"]["regex"] name = i["pattern"]["name"].replace(' ', '_').lower() output[name] = r
并发处理与 HTTP 请求:
goroutine
和 WaitGroup
实现并发处理。http.Client
支持忽略 SSL 证书验证。go var httpClient = &http.Client{ CheckRedirect: func(req *http.Request, via []*http.Request) error { return http.ErrUseLastResponse }, Transport: &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: time.Second, DualStack: true, }).DialContext, }, }
链接提取与敏感信息检测:
go linkRegex := `(?:"|')(((?:[a-zA-Z]{1,10}://|//)[^"'/]{1,}\.[a-zA-Z]{2,}[^"']{0,})|((?:/|\.\./|\./)[^"'><,;| *()(%%$^/\\\[\]][^"'><,;|()]{1,})|([a-zA-Z0-9_\-/]{1,}/[a-zA-Z0-9_\-/]{1,}\.(?:[a-zA-Z]{1,4}|action)(?:[\?|#][^"|']{0,}|))|([a-zA-Z0-9_\-/]{1,}/[a-zA-Z0-9_\-/]{3,}(?:[\?|#][^"|']{0,}|))|([a-zA-Z0-9_\-]{1,}\.(?:php|asp|aspx|jsp|json|action|html|js|txt|xml)(?:[\?|#][^"|']{0,}|)))(?:"|')`
该工具结合了 Web 安全扫描和配置文件解析的功能,通过动态加载正则表达式规则,能够灵活地检测网页中的敏感信息和链接。适用于安全研究人员、开发人员和运维人员,帮助快速发现和修复潜在的安全问题。 github链接地址:https://github.com/swisskyrepo/jsleak.git