Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
waf-fu — 用于浏览和重放来自 CloudWatch、S3 和采样 API 的 AWS WAF v2 日志的终端 UI,支持 YAML 过滤、认证检测以及 curl/浏览器重放。 | Kitploit
工具/GitHubGitHub/confused-binary/waf-fu
防御工具数据包嗅探与分析Web代理与拦截信息收集Web安全云安全实用工具与框架事件响应日志分析
GitHubconfused-binary/waf-fu

waf-fu

用于浏览和重放来自 CloudWatch、S3 和采样 API 的 AWS WAF v2 日志的终端 UI,支持 YAML 过滤、认证检测以及 curl/浏览器重放。

21个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

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

waf-fu

AWS WAF v2 日志浏览器与重放器,带交互式 TUI。从 CloudWatch、S3 和 WAF 采样 API 拉取日志(带 SQLite 缓存),在分屏终端 UI 中显示,支持认证检测和基于 YAML 的过滤,并通过 Firefox、Chrome 或 curl 重放请求,完整保留 header/cookie/body。支持批量导出为 curl、JSON 和 HAR。

安装

从 PyPI

uv pip install waf-fu

pipx install waf-fu

从 git

uv pip install git+https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git

pipx install git+https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git

从本地克隆

git clone https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git
cd waf-fu

uv pip install .

pipx install .

附带的 uv.toml 将 uv pip 配置为安装到系统 Python,而不是创建 virtualenv。pipx 和 uv tool install 始终使用它们自己的隔离环境。

要求

Python >= 3.12

AWS 凭证通过 profile、环境变量或实例角色配置。各数据源的要求见 IAM 权限。

Python 包

包最低版本用途
boto3任意AWS 日志获取
selenium4.26Chrome 和 Firefox 重放
trio任意Chrome CDP 重放内部实现

boto3 和 selenium 在 pyproject.toml 中声明并自动安装。trio 是 Chrome 后端的传递依赖。

浏览器重放后端

浏览器重放是可选的。Curl 重放无需额外依赖即可工作。

Firefox(推荐用于 header 保真):

组件最低版本安装
Firefox120sudo dnf install firefox / sudo apt install firefox
geckodriver0.35.0sudo dnf install geckodriver / sudo apt install firefox-geckodriver 或 github.com/mozilla/geckodriver/releases(>= 0.35.0)
selenium4.26uv pip install 'selenium>=4.26'

Firefox 重放使用 WebDriver BiDi 网络拦截来注入原始请求的方法、header、cookie 和 body。BiDi 网络支持需要 geckodriver >= 0.35 和 selenium >= 4.26。较旧版本会回退到基于 XHR 的方法,无法注入自定义 header。

Chrome / Chromium:

组件最低版本安装
Chrome118sudo dnf install google-chrome-stable / sudo apt install google-chrome-stable 或 Chromium
chromedriver118sudo dnf install chromedriver / sudo apt install chromium-driver 或 googlechromelabs.github.io/chrome-for-testing
selenium4.26uv pip install 'selenium>=4.26'

Chrome 重放使用 CDP(Chrome DevTools Protocol)Fetch 域来拦截和修改请求。方法、header、body 和 cookie 均通过 CDP 注入。

如果自动检测未找到正确的二进制文件,可以使用 --chromedriver PATH 和 --geckodriver PATH 覆盖驱动路径。

快速开始

# 交互式 TUI -- 浏览和重放
waf-fu --log-group "aws-waf-logs-my-acl"

# 无日志组 -- 从发现的日志组中交互式选择
waf-fu --profile myprofile --region us-east-1

# 使用 S3 WAF 日志而非 CloudWatch
waf-fu --s3-bucket aws-waf-logs-my-bucket

# 发现并获取所有区域中的每个日志源
waf-fu --inventory

# 在 TUI 打开前预过滤
waf-fu --start 4h --action BLOCK

# 离线模式 -- 仅使用缓存记录,不调用 AWS
waf-fu --db-only

# 通过代理重放(Burp、mitmproxy 等)
waf-fu --log-group "aws-waf-logs-my-acl" --proxy 127.0.0.1:8080

# 非交互式批量导出
waf-fu --log-group "aws-waf-logs-my-acl" --mode batch-curl -o replay.sh

# 将缓存记录导出为 JSON
waf-fu --export logs.json

# 调试模式 -- 将重放详情记录到文件(客户端数据已脱敏)
waf-fu --log-group "aws-waf-logs-my-acl" --debug

日志源

waf-fu 从三个源拉取 WAF 日志,并按请求合并:

源CLI 标志数据
CloudWatch--log-group(默认)完整 WAF 日志 JSON(header、URI、query、action)
S3--s3-bucket与 CloudWatch 相同,来自 S3 交付
WAF API--log-location waf带未脱敏字段的采样请求

使用 --log-location cwl|s3|waf 限制为单一源,或使用 --inventory 自动发现并获取所有区域中的所有源。

来自不同源的记录按关联键合并,因此每个请求会显示为单一统一视图,并包含来自各源的最丰富数据。

IAM 权限

每个源需要自己的 IAM 权限,范围限定为触发它的 CLI 标志。

CloudWatch Logs

所需场景:默认操作、--log-location cwl

  • logs:FilterLogEvents -- 从 CloudWatch 获取日志记录
  • logs:DescribeLogGroups -- 发现匹配 aws-waf-logs-* 的日志组

S3

所需场景:--s3-bucket、--log-location s3、--inventory

  • s3:ListAllMyBuckets -- 按名称前缀发现 WAF 日志桶
  • s3:ListBucket -- 列出 WAF 日志桶中的日志对象
  • s3:GetObject -- 下载 gzip 压缩的日志文件

WAFv2

所需场景:--log-location waf、--inventory、自动富化

  • wafv2:ListWebACLs -- 发现 web ACL
  • wafv2:GetWebACL -- 枚举规则以进行采样请求查询
  • wafv2:GetLoggingConfiguration -- 发现 ACL 使用哪些日志目标(CWL、S3)
  • wafv2:GetSampledRequests -- 检索未脱敏的请求样本(绕过 RedactedFields)

最低可行:仅需要 CloudWatch Logs 权限。S3 和 WAFv2 权限是可选的,用于启用额外数据源。当权限缺失时,工具会优雅降级。

下载工具