Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
coraza — 基于Go的Web应用防火墙库,兼容ModSecurity SecLang规则和OWASP核心规则集v4,提供实时HTTP流量检查和攻击阻断功能,适用于Web应用和API。 | Kitploit
工具/GitHubGitHub/corazawaf/coraza
防御工具漏洞扫描器IDS/IPS规避Web应用程序漏洞利用API安全测试WAF绕过Web安全错误配置学习与教育API 安全
GitHubcorazawaf/coraza

coraza

基于Go的Web应用防火墙库,兼容ModSecurity SecLang规则和OWASP核心规则集v4,提供实时HTTP流量检查和攻击阻断功能,适用于Web应用和API。

3.7k35175天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库网站

  Coraza - Web应用防火墙

Regression Tests Coreruleset Compatibility CodeQL codecov Project Status: Active – The project has reached a stable, usable state and is being actively developed. OWASP Production Project GoDoc

Coraza 是一个开源、企业级、高性能的 Web 应用防火墙 (WAF),能够保护您的应用程序安全。它使用 Go 语言编写,支持 ModSecurity SecLang 规则集,并且 100% 兼容 OWASP Core Rule Set v4。

  • 官方网站:https://coraza.io
  • 论坛:GitHub Discussions
  • OWASP Slack 社区 (#coraza):https://owasp.org/slack/invite
  • 规则测试:Coraza Playground

主要特性:

  • ⇲ 即插即用 - Coraza 是一个替代引擎,部分兼容 TrustwaveOWASP ModSecurity Engine,并支持业界标准的 SecLang 规则集。

  • 🔥 安全性 - Coraza 运行 OWASP CRS v4(原 Core Rule Set),保护您的 Web 应用免受广泛攻击,包括 OWASP Top Ten,且误报极少。CRS 可防御多种常见攻击类别,包括:SQL 注入 (SQLi)、跨站脚本 (XSS)、PHP 和 Java 代码注入、HTTPoxy、Shellshock、脚本/扫描器/爬虫检测以及元数据和错误泄漏。请注意,旧版本的 CRS 不兼容。

  • 🔌 可扩展 - Coraza 核心是一个库,拥有众多集成方案,可部署本地 Web 应用防火墙实例。审计日志记录器、持久化引擎、操作符、动作——您可以创建自己的功能来无限扩展 Coraza。

  • 🚀 高性能 - 无论是大型网站还是小型博客,Coraza 都能以极小的性能开销处理负载。查看我们的基准测试

  • ﹡ 简单易用 - 任何人都能理解并修改 Coraza 源码。扩展新功能非常容易。

  • 💬 社区驱动 - Coraza 是一个社区项目,欢迎贡献,所有想法都会被考虑。贡献指南请见 CONTRIBUTION 文档。


集成方案

Coraza 项目为以下服务器提供了实现和插件:

  • Caddy 反向代理和 Web 服务器插件 - 稳定,需要维护者
  • 适用于支持 proxy-wasm 的代理(如 Envoy)的 Proxy WASM 扩展 - 稳定,仍在开发中
  • HAProxy SPOE 插件 - 实验性
  • Coraza C 库(用于 nginx 等) - 实验性
  • RuiQi WAF - 用于 Coraza SPOA 的 Web 管理面板和增强流量控制 - 实验性

前提条件

  • 较新版本的 Go(参见 go.mod)或 tinygo 编译器。
  • Linux 发行版(推荐 Debian 或 Centos)、Windows 或 Mac。

Coraza 核心用法

Coraza 可作为 Go 程序的库使用,用于实现安全中间件或集成到现有应用和 Web 服务器中。

root@kitploit:~
package main

import (
	"fmt"

	"github.com/corazawaf/coraza/v3"
)

func main() {
	// 首先初始化我们的 waf 和 seclang 解析器
	waf, err := coraza.NewWAF(coraza.NewWAFConfig().
		WithDirectives(`SecRule REMOTE_ADDR "@rx .*" "id:1,phase:1,deny,status:403"`))
	// 现在解析我们的规则
	if err != nil {
		fmt.Println(err)
	}

	// 然后创建一个事务并分配一些变量
	tx := waf.NewTransaction()
	defer func() {
		tx.ProcessLogging()
		tx.Close()
	}()
	tx.ProcessConnection("127.0.0.1", 8080, "127.0.0.1", 12345)

	// 最后处理请求头阶段,可能会返回中断
	if it := tx.ProcessRequestHeaders(); it != nil {
		fmt.Printf("Transaction was interrupted with status %d\n", it.Status)
	}
}

Examples/http-server 提供了一个练习 Coraza 的示例。

构建标签

Go 构建标签可在编译时调整特定功能。这些仅适用于高级用例,不保证跨小版本的兼容性——请谨慎使用。

  • coraza.disabled_operators.* - 从编译中排除指定的操作符。当使用 plugins.RegisterOperator 覆盖操作符以减小二进制体积/启动开销时特别有用。
  • coraza.rule.multiphase_evaluation - 启用规则变量在它们就绪的阶段中进行评估,而不仅仅是在规则定义的阶段。
  • coraza.no_memoize - 禁用正则表达式和 aho-corasick 构建器的默认记忆化功能。默认启用记忆化,使用全局缓存来重用跨 WAF 实例的已编译模式,从而减少内存消耗和启动开销。在需要实时重新加载的长时间运行进程中,使用 WAF.Close()(通过 experimental.WAFCloser)在 WAF 被销毁时释放缓存条目,或者使用此标签完全退出记忆化。
  • no_fs_access - 表示目标环境无法访问文件系统,因此不利用操作系统的文件系统相关功能(例如文件体缓冲区)。
  • coraza.rule.case_sensitive_args_keys - 启用 ARGS 键的区分大小写匹配,使 Coraza 行为符合 RFC 3986 规范。在下个主版本中,该标签将默认启用。
  • coraza.rule.no_regex_multiline - 禁用在 @rx 操作符中默认启用正则表达式的多行修饰符。这符合 CRS 预期行为,减少误报并可能提升性能。在下个主版本中,默认将不启用多行正则表达式。更多背景请查看此 PR。
  • coraza.rule.mandatory_rule_id_check - 启用严格的规则 ID 检查,要求所有 SecRule/SecAction 必须包含 动作。

E2E 测试

http/e2e/ 提供了一个运行端到端测试的实用工具。可以单独针对您自己的 WAF 部署使用:

root@kitploit:~
go run github.com/corazawaf/coraza/v3/http/e2e/cmd/httpe2e@main --proxy-hostport localhost:8080 --httpbin-hostport localhost:8081

或者作为库导入使用:

root@kitploit:~
"github.com/corazawaf/coraza/v3/http/e2e"

作为库使用的参考,请参见 testing/e2e/e2e_test.go。需要加载的预期指令和可用标志可以在 http/e2e/cmd/httpe2e/main.go 中找到。

工具

  • Go FTW:规则测试引擎
  • Coraza Playground:沙盒式规则测试 Web 界面
  • OWASP Core Ruleset:出色的规则集,兼容 Coraza

开发

Coraza 开发仅需要 Go。您可以使用 mage.go 来执行开发命令。

查看命令列表:

root@kitploit:~
$ go run mage.go -l
Targets:
  check        runs lint and tests.
  coverage     runs tests with coverage and race detector enabled.
  doc          runs godoc, access at http://localhost:6060.
  format       formats code in this repository.
  fuzz         runs fuzz tests.
  lint         verifies code quality.
  precommit    installs a git hook to run check when committing.
  test         runs all tests.

例如,在提交前格式化代码,运行:

root@kitploit:~
go run mage.go format

贡献

欢迎贡献!请参阅 CONTRIBUTING.md 获取指导。

安全

要报告安全问题,请点击此链接,描述问题详情、复现步骤、受影响的版本以及已知的缓解措施。

我们的漏洞管理团队将在收到报告后的 3 个工作日内回复。如果问题确认为漏洞,我们将开启安全公告。本项目遵循 90 天披露时间线。

致谢

  • OWASP Coreruleset 团队提供的 CRS 及其帮助
  • Ivan Ristić 创建了 ModSecurity

Coraza 在 X/Twitter 上

  • @corazaio

捐赠

如需捐赠,请访问捐赠站点。

感谢所有贡献者

首先,衷心感谢 Juan Pablo Tosso 启动了这个项目,并围绕 Coraza 建立了出色的社区!

如今我们拥有众多杰出的贡献者,没有你们,我们无法做到这一切!

由 contrib.rocks 生成。

下载工具
id
  • coraza.rule.rx_prefilter - 将 SecRxPreFilter 指令的默认值设为 On。通过跳过输入无法匹配时的完整正则表达式,优化 @rx 操作符。此构建标签仅用于测试目的,运行时可配置请使用 SecRxPreFilter 指令,更全面的文档请参阅该功能的相关说明。