Releases: zan8in/afrog
v3.5.2
afrog v3.5.2 发布
✨ 主要更新
1. 断点续扫升级 (-resume)
- 从 PoC 级 升级为 target × PoC 任务级
- 中断后精准恢复,不再从 0% 重扫
- ✅ 不重扫、不漏扫,进度即时恢复
2. 严格校验模式 (-validate)
- 严格检测不支持的 PoC 语法(如 nuclei/xray 字段)
- 按行报错 + 给出修正提示,不再静默忽略
3. 帮助信息重组 (-h)
- 参数按使用路径分为 9 大类:输入 → PoC → 筛选 → 网络/性能 → OOB → 阶段 → 输出 → 调试 → 服务/配置
- 查找参数更直观
📦 升级建议
- 经常断点续扫的用户强烈建议升级
- 运行
-validate检查 PoC 兼容性
v3.5.1
这是 afrog v3.5.1 版本的更新日志,主要包含两项关键更新:
1. -debug 模式优化(Brute 场景)
变更前:在暴力破解(brute)场景下,-debug 只会输出最后一次 payload 尝试的请求/响应。
变更后:按顺序输出每一次 payload 尝试的完整 Request/Response。
影响:避免因“只看到最后一次”而误判漏洞是否存在,便于排查爆破过程中的中间状态问题。
2. 新增 Interactsh OOB 支持
功能:afrog 现可通过 -oob interactsh 参数,使用 Nuclei / ProjectDiscovery 的 Interactsh 服务进行带外(OOB)回连验证。
自动配置:当配置文件中缺少 reverse.interactsh 相关配置时,afrog 会自动补全。
使用示例:
afrog -t https://target.com -oob interactsh适用场景:适用于检测需要外部交互的漏洞(如盲注、反连类漏洞),提升检测准确率。
手工配置:
打开 afrog 配置文件 ~/.config/afrog/afrog-config.yaml
找到 reverse:,在下面添加内容:
interactsh:
server: "oast.pro"
token: ""
v3.5.0 不走、完美
afrog v3.5.0 版本更新日志:
-
HTTP 响应自动解压:为非 raw 的 HTTP 请求添加了对
Content-Encoding: gzip响应的自动解压功能。现在response.body/response_text以及-debug输出的内容将直接显示可读明文,同时避免了因手动设置Accept-Encoding头而导致规则匹配失败的问题。 -
增强的规则容错机制:即使某个 rule 的请求发生超时或报错,依然会继续执行该 rule 的表达式计算。这确保了
oobCheck(...)这类基于 OOB(带外)的判断不会因为请求未能正常返回而“根本没有机会执行”,从而有效避免漏报。 -
旧 OOB PoC 静态检测:增加了对旧版本 OOB PoC 的静态检测与自动跳过功能。
-
Header 查询优化:
response.headers[...]的 Header 名查询改为大小写不敏感,系统将自动按小写匹配,提升了兼容性和易用性。 -
OOB 判定修复:修复了 Revsuit 平台在 DNS 类型 OOB 检测中的误判问题,进一步减少漏报。
v3.3.9
afrog v3.3.9 重磅发布:OOB 检测能力全面升级
本次更新聚焦 OOB(带外)检测体系的重构与优化,带来更稳定、更清晰、更易用的漏洞验证体验。
🎯 OOB 核心升级
- 更简洁的 PoC 语法:新增 {{oob.DNS}} / {{oob.HTTP}} 占位符,配合 oobCheck(...) 与 oobEvidence() 函数,编写 PoC 更直观、更高效
- 更稳健的底层逻辑:从“整段响应式匹配”升级为“记录条目→自动去重→事件缓存→证据摘要”机制,命中更精准,复核更轻松
- 证据可追溯:扫描结果中自动挂载 oob_evidence 证据,终端、report.html、Web 详情页均可清晰展示 OOB 触发详情
- 老 PoC 一键迁移:新增 -pocmigrate 命令,帮助用户快速将旧版 OOB PoC 迁移至新版格式
🖥️ CLI 体验优化
- 新增 -nc / -no-color 参数,支持禁用 ANSI 颜色输出,适配日志采集与纯文本环境

v3.3.8
Afrog v3.3.8 发布
本次更新显著增强了 afrog 的 企业级协作能力(企业微信推送)、精准筛选能力(搜索扩展至 tags)以及 生态统一性(afrogweb、SDK 同步)。同时,通过对 Weaver 相关 PoC 的集中验证与补充,进一步提升了在特定场景下的漏洞检测覆盖率和准确性。
核心新增功能
-
新增内置函数
- 增加
timestamp_milli、aesECB、hex、toUpper、toBytes等函数,进一步丰富了漏洞检测过程中的数据处理与加密能力。具体可参考官方 wiki 中的内置函数文档。
- 增加
-
企业微信漏洞推送功能
- 新增企业微信作为漏洞推送渠道(由社区开发者 @adeljck 提交),便于团队及时接收风险告警。
-
搜索范围扩展至 tags
- -s/--search 现在会同时匹配 PoC 的 id、info.name 和 info.tags(逗号分隔关键词,大小写不敏感,命中任意关键词即视为匹配成功)。
- -pl 列表过滤与扫描过滤的行为已统一,均支持按 tags 进行命中。
-
afrogweb 漏扫同步增强
- afrogweb 版本现已支持与命令行版本一致的高级过滤功能,包括:
-ps(跳过指定 PoC)-p 1-6535(PoC 范围选择)-w(指定工作空间)-s tomcat(搜索匹配 PoC)
- afrogweb 版本现已支持与命令行版本一致的高级过滤功能,包括:
-
SDK 功能同步
- SDK 已同步本次更新,确保第三方集成时也能使用全部新功能。
核心优化项
-
优化内置函数
- 对内置函数
bcount、rcount进行了性能或功能上的优化。
- 对内置函数
-
PoC 属性标准化
- 所有 PoC 已统一覆盖 tags 和 created 属性,便于分类、筛选与管理。
-
增强 PoC 目录支持
- -pd 参数现在支持指定
pocs-my(用户自定义 PoC 目录)和pocs-curated(精选 PoC 目录)。
- -pd 参数现在支持指定
-
PoC 验证与新增
- 重新验证了 40+ 个内置的 Weaver(泛微) 相关 PoC。
- 新增了 11 个 Weaver 相关 PoC(来自社区圈子)。
v3.3.7
一、Afrog 支持星球 PoC 自动更新功能 ⚡️
“启动即最新,扫描即实战”,只需配置一次星球专属 License,Afrog 在启动时会自动挂载并更新星球最新发布的高危漏洞 PoC。 告别手动下载与解压,让你的漏洞情报库始终保持最新。
二、命令 -pedm 全新升级:PoC 执行耗时洞察与分析引擎 🔍
告别性能“黑盒”,一键开启 PoC 扫描的“上帝视角”。启用 -pedm 后,Afrog 将为您完整采集每一次 PoC 任务执行的全量耗时数据,并以极低开销,输出直观、可操作的关键性能洞察。
- 执行全景掌控:全程采集并统计所有 PoC 执行耗时,为性能分析提供坚实数据基础。
- 全局性能报告:扫描结束时,自动生成一份“Top 慢 PoC”排行榜,直观揭示最耗时、或平均耗时最高的 PoC,为你的 PoC 库与扫描策略优化提供核心依据。
- 优化你的实战体验:无论是排查扫描卡顿、评估 PoC 效率,还是优化你的专属 PoC 库,-pedm 都将成为你不可或缺的专业性能诊断工具。
圈子
增量共 7 条 PoC: 大华 x2 、 springblade x1 、泛微 x1 、 信呼 x2 、致远 x1、Oracle x1
v3.3.6
- 新增
- 新内置函数:
trim、计数函数bcount/rcount,支持在表达式中统计正则命中次数。 - 新增契约锁 Qiyuesuo DBTest RCE 检测 PoC。
- 新内置函数:
- 修复
- 修复
-w探测模式下控制台打印网页标题时的中文乱码问题。
- 修复
- 圈子
- 增量共 7 条 PoC: 帆软 2 、 蜜罐 2 、 金河 1 、 锐捷 1 、其他 1,删除 1 条 PoC:畅捷通 1
fanruan
- fanruan-reportserver-resource-fileread.yaml
- fanruan-v9-webserver-fileupload.yaml
honeypots
- citrix-honeypot-detect.yaml
- honeypots-detection.yaml
jinhe
- jinhe-detect.yaml
ruijie
- ruijie-rg-uac-nmc-online-check-rce.yaml
vulnerablility
- astrbot-get-file-fileread.yaml
删除
yonyou/chanjet
- yonyou-chanjet-tplus-deletesingleimage-deletefile.yaml
v3.3.5
新增
- 增加本地漏洞演示站点与示例 PoC:examples/vulnweb/*(nacos/seeyon/fileupload/rce 等页面与对应 PoC 示例)【可无视】。
- 新增/补充指纹与 PoC:新增帆软指纹 [fanruan-detect.yaml],帆软 OA designsavevg 文件上传 PoC 重命名为 [fanruan-oa-v9-designsavevg-fileupload.yaml]。
修复
- 修复“同一 host:port 下不同 path 资产被错误归并(且去重不稳定)”的问题:现在对带非根路径的 URL 按 host:port+path 区分,避免不同 path 站点的指纹/requires 互相污染,并保证多 path 目标不会被去重吞掉、结果稳定。
- 修复/更新多个 PoC 与指纹细节:用友 U8(nccloudgatewayservlet)RCE、Nacos 指纹、畅捷通 T+ SQLi、大华 ICC SQLi、海康 detection RCE、CNVD-2018-04757 等(见各对应 PoC 文件变更)。
- 修复[安装报错] #202
优化/调整
- 文档文件名整理:TCP/SSL 多步骤会话示例文档重命名为 [tcp-ssl-multi-step-session.md]。
v3.3.3 Afrog 官方圈
v3.3.2
Afrog 核心功能更新说明
🔧 【新增】-test 参数(测试模式)
-
功能说明:新增的
-test参数用于开启测试模式,目前主要功能是暂时忽略 requires 行为,允许在尚未完成指纹识别的前提下,直接对指定 PoC 进行验证。 -
设计理念:
- 使用
-test而非-ignore-requires等名称,体现了作者的明确设计意图 - 正式扫描/生产环境:
requires是必须且强烈建议启用的机制,确保先通过指纹筛选再执行漏洞 PoC,以提高效率和准确性 - 测试场景:跳过
requires只应出现在 PoC 编写、调试、验证等“测试场景”中 - 命名意义:
-test明确表示这是一个“仅限测试场景使用”的模式,不鼓励长期忽略requires
- 使用
📝 【新增】response_text 核心功能
核心用意
将原始的 response.body(bytes 类型)智能解码成可直接阅读的字符串(text)。
解码策略
- 优先级:优先尊重响应头中的 charset(如 GBK、UTF-8)
- 容错机制:解码失败时回退到合理默认编码
- 简化理解:
response_text≈ 将response.body转换为人类可读的 UTF-8 友好字符串
解决的问题
- 编码兼容性:老系统/国内站点常使用 GBK、GB2312、Big5 等非 UTF-8 编码
- 匹配可靠性:直接在 bytes 上写正则或 contains 时,中文容易出现乱码或匹配失败
- 使用便利性:提供现成、可读、已解码的文本版本,简化中文/非 ASCII 文本的提取和匹配
使用场景指南
✅ 优先使用 response_text(强烈推荐场景)
- 需要匹配/提取人类可读内容,尤其是中文(标题、正文、关键词)
- 使用
submatch/rmatches/contains/icontains等“文本语义”函数 - 不确定响应编码,但希望结果是正常可读字符串
✅ 继续使用 response.body(默认推荐场景)
- 处理二进制内容、协议数据、文件指纹
- 需要字节级精确匹配(如 magic bytes、特定偏移)
- 追求最高性能(bytes 操作更快)
- 响应本身不是可解码文本(此时
response_text可能为空或全是替换符)
选型口诀
默认用
response.body(原始、稳定、快)
只有涉及中文/可读文本匹配时,才切换到response_text
🎯 【新增】rmatches 函数详解
功能说明
rmatches(text):专门对字符串(text)进行正则匹配,返回True/False- 底层引擎:使用
regexp2(Re2 风格,支持更多 Perl 特性),语义更接近常见正则工具
三函数对比表
| 函数 | 输入类型 | 适合场景 | 典型用法示例 | 备注 |
|---|---|---|---|---|
bmatches |
bytes | 字节级、二进制、编码无关 | bmatches(response.body, b"\x00\x01") |
最原始、最稳定 |
matches |
string | 通用字符串匹配 | "admin".matches(response_text) |
基础字符串匹配 |
rmatches |
string (text) | 中文、正文、已解码文本 | "致远.*协同".rmatches(response_text) |
推荐用于中文/标题/正文匹配 |
推荐写法(中文场景)
expression: response.status == 200 && "致远.*协同办公".rmatches(response_text)
expression: response_text.icontains("<title>致远协同")📊 总结建议
黄金搭档组合
response_text:解决中文乱码问题,让文本匹配更可靠(中文指纹的救星)rmatches:为文本匹配提供清晰、直观的正则函数,与response_text完美搭配
选型策略
- 默认情况:
body+bmatches→ 更原始、更稳定 - 中文/正文场景:
response_text+rmatches→ 更友好、更准确
按照以上指南,在编写规则时就不再需要纠结“到底用哪个匹配函数”和“中文为什么匹配不到”的问题了。
🛡️ 其他功能增强
服务指纹识别支持
支持常见服务指纹识别与弱口令爆破:
- MySQL、MSSQL、Dameng(达梦)、FTP、IMap、Memcache、Mongodb、Oracle、Pop3
- Postgresql、RDP、Redis、SMB、SMTP、SSH、Telnet、VNC、Winrm
性能说明:
- 弱口令爆破行为为串行执行
- 扫描时间平均 3-5分钟 不等(视目标服务和网络状况而定)
漏洞检测增强
新增漏洞支持:
- CVE-2026-24061:Telnet 远程认证绕过漏洞
afrog -t x.x.x.x:23 -s telnet
