当前位置: 首页 > article >正文

Fofax进阶技巧:自定义Fx语法规则与实战应用

1. 认识Fofax与Fx语法第一次接触Fofax时我完全被它的效率震惊了。这个用Go语言编写的命令行工具就像是给FoFa搜索引擎装上了涡轮增压器。你可能已经熟悉FoFa的基本查询但Fofax带来的Fx语法才是真正的游戏规则改变者。简单来说Fx语法允许你像搭积木一样把各种查询条件组合成可复用的规则模板。想象你每天都要重复查询暴露在公网的Jenkins服务传统方式每次都要输入完整的查询语句。而用Fx语法你可以把这个查询模式保存为一条规则下次只需调用规则名称就能执行完整查询。更棒的是这些规则通过yaml文件管理支持条件组合、变量替换等高级特性。我团队现在维护着200条Fx规则将日常工作的查询效率提升了至少5倍。2. 编写你的第一条Fx规则让我们从最基础的yaml规则模板开始。先运行这个命令生成模板文件fofax -g ~/my_first_rule.yaml打开生成的yaml文件你会看到类似这样的结构id: fx-custom-001 # 规则ID保持唯一性 query: appApache # 基础查询语句 rule_name: Apache服务检测 # 中文规则名 description: 检测公网暴露的Apache服务 # 规则说明 tags: [web, scanner] # 标签用于分类这是我早期写的一条真实规则用于查找配置错误的Nginx服务器id: fx-nginx-misconfig query: servernginx headerserver: nginx bodydirectory listing rule_name: Nginx目录遍历漏洞 description: 检测开启目录列表功能的Nginx服务 tags: [web, vulnerability]保存文件后把它放到~/.config/fofax/rules/目录没有就新建。测试时使用fofax -q fxnginx目录遍历漏洞 -fe3. 高级规则编写技巧当基础规则无法满足需求时Fx语法这些特性会让你事半功倍变量参数化是我最常用的功能。比如这个动态查询不同CMS的规则id: fx-cms-check query: app{{cms_name}} country{{country}} rule_name: CMS检测-{{cms_name}} variables: cms_name: default: WordPress options: [WordPress, Drupal, Joomla] country: default: CN调用时这样传参fofax -q fxCMS检测 cms_nameDrupal countryUS -fe条件组合让规则更智能。这个例子会先检测Web服务再检查是否存在特定漏洞特征id: fx-web-vuln rules: - query: server{{server_type}} name: {{server_type}}服务检测 - query: bodyvulnerability_indicator name: 漏洞特征验证 depends_on: [{{server_type}}服务检测]4. 实战中的规则优化经验在真实漏洞挖掘中我总结出这些黄金法则精准排除干扰项好的规则要像狙击枪而不是散弹枪。比如找暴露的Kibana时加上!cloud排除云服务商的管理界面。多维度验证不要只依赖单一特征。检测Jenkins未授权访问时我通常会组合三个条件query: titleJenkins port8080 bodymanage jenkins !bodyauthentication性能调优大范围扫描时在yaml中添加这些参数能显著提升效率performance: max_pages: 3 # 限制翻页数 timeout: 10s # 单次查询超时 concurrency: 5 # 并发数有个实际案例我们曾用自定义规则在2小时内发现了某央企的200台暴露的Redis实例。关键规则是这样的id: fx-redis-exposed query: port6379 bannerredis countryCN !ip10.|172.|192. rule_name: 国内公网Redis实例 description: 检测未配置防火墙的Redis服务 tags: [database, critical]5. 规则管理与团队协作当规则积累到几十条时你需要考虑这些问题版本控制我们把所有yaml规则文件放在Git仓库用CI/CD自动同步到团队的fofax安装目录。每次修改都有记录还能做code review。分类体系按这个目录结构组织规则找起来特别方便rules/ ├── web/ │ ├── cms.yaml │ └── middleware.yaml ├── infra/ │ ├── database.yaml │ └── cloud.yaml └── vuln/ ├── cve-2023-xxx.yaml └── log4j.yaml质量监控我写了个定时任务每周自动测试所有规则的查询结果。如果某条规则连续返回空结果就会触发告警。这帮助我们发现了很多因服务特征变化而过期的规则。6. 排查规则问题的技巧即使老手也会遇到规则不工作的情况。这是我的排错清单先用-debug参数看原始查询语句fofax -q fx我的规则 -fe -debug检查yaml语法特别是缩进和引号。曾经有个bug花了我两小时最后发现是tab和空格混用。在FoFa官网直接测试查询语句确认不是API本身的问题。对于复杂规则拆分成小段逐步测试。比如先测试条件A再测试AB最后测试完整规则。有个记忆犹新的案例我们的一条Elasticsearch规则突然失效最终发现是因为FoFa的语法从port9200变成了port9200。解决方案是在yaml里加上兼容写法query: (port9200 || port9200) productelasticsearch7. 安全防护与合规建议使用强大工具的同时要牢记遵守数据合规在规则中添加country!CN等条件时确保有合法授权控制扫描频率在yaml中设置合理的interval: 60s防止触发速率限制敏感信息保护不要把包含业务特征的规则文件上传到公开仓库日志审计建议用-log-file参数记录所有查询活动我习惯在关键规则的metadata区域添加负责人和审批信息meta: owner: security-teamcompany.com approved_by: cisocompany.com review_date: 2023-12-31这些年来Fx语法已经成为我们安全运营的核心工具之一。从最初的简单查询到现在覆盖200种资产类型的规则库它显著提升了我们的威胁发现能力。刚开始可能会觉得yaml配置有些复杂但坚持下来后你会发现它带来的效率提升绝对值得投入。最近我们正在试验把Fx规则与内部CMDB联动自动生成资产监控规则这可能是下一个突破点。

相关文章:

Fofax进阶技巧:自定义Fx语法规则与实战应用

1. 认识Fofax与Fx语法 第一次接触Fofax时,我完全被它的效率震惊了。这个用Go语言编写的命令行工具,就像是给FoFa搜索引擎装上了涡轮增压器。你可能已经熟悉FoFa的基本查询,但Fofax带来的Fx语法才是真正的游戏规则改变者。简单来说&#xff0c…...

JavaScript中对象生命周期与垃圾回收的引用关系

“可达”对象指从根对象(如全局对象、调用栈)出发沿引用链能遍历到的对象,“不可达”对象则无法被遍历到,GC仅回收后者;全局变量始终可达,局部对象在无外部引用时变为不可达;闭包、未解绑事件监…...

微信好友关系智能检测:高效管理你的社交网络

微信好友关系智能检测:高效管理你的社交网络 【免费下载链接】WechatRealFriends 微信好友关系一键检测,基于微信ipad协议,看看有没有朋友偷偷删掉或者拉黑你 项目地址: https://gitcode.com/gh_mirrors/we/WechatRealFriends 在数字社…...

WSL桥接网络配置:从临时到永久的IP固定方案

1. 为什么需要固定WSL的IP地址? 很多开发者在使用WSL(Windows Subsystem for Linux)进行嵌入式开发时都会遇到一个头疼的问题:每次重启WSL或者电脑后,IP地址都会变化。想象一下,你正在调试一个嵌入式设备&a…...

网暴:存在却无效的公开羞辱性展示

网暴:存在却无效的公开羞辱性展示网络暴力常被笼统地归入“舆论暴力”或“言语攻击”,但其本质长期缺乏精准的理论刻画。如果将暴力重新定义为“不正当且不可对称地剥夺或削弱他人决断能力”,那么网暴便可以获得一个统一且深刻的解释&#xf…...

SQL如何统计分组中占比超过一定阈值的数据_HAVING过滤聚合

WHERE在分组前过滤行,HAVING在分组后过滤组;占比类条件必须用HAVING或窗口函数实现,WHERE无法使用聚合函数。WHERE 和 HAVING 的分工必须分清WHERE 在分组前过滤行,HAVING 在分组后过滤组。想筛“某组占比 > 80%”这种条件&…...

告别Win11反人类设计!用SysWOW64文件夹找回经典任务管理器的完整指南

深入解析Windows 11任务管理器:从系统架构到经典界面还原 每次Windows大版本更新,总有些改动让人措手不及。Windows 11带来的全新任务管理器界面,虽然视觉效果更现代化,但不少资深用户却发现操作效率反而降低了。那些熟悉的快捷键…...

5大收益:如何将代码质量可视化转化为可衡量的商业价值

5大收益:如何将代码质量可视化转化为可衡量的商业价值 【免费下载链接】sonar-cnes-report Generates analysis reports from SonarQube web API. 项目地址: https://gitcode.com/gh_mirrors/so/sonar-cnes-report 在当今快速迭代的软件开发环境中&#xff0…...

用Python手把手教你实现隐马尔可夫模型(HMM)的天气预测实战

用Python手把手教你实现隐马尔可夫模型(HMM)的天气预测实战 天气预报总是让人又爱又恨——明明说好的晴天,出门却遭遇暴雨。有没有更聪明的预测方法?今天我们将用Python构建一个能"学习"天气规律的隐马尔可夫模型&#…...

大模型训练监控利器:wandb可视化实战全解析

1. 为什么你需要wandb来监控大模型训练 当你正在训练一个参数量超过10亿的大模型时,最让人头疼的问题是什么?对我来说,最痛苦的就是看着黑漆漆的命令行窗口,完全不知道模型训练到哪一步了,效果怎么样。我曾经遇到过训练…...

ComfyUI JoyCaption 2 进阶配置:从安装到多模式反推实战

1. JoyCaption 2与ComfyUI的强强联合 如果你正在寻找一款能够大幅提升AI图像生成效率的工具,JoyCaption 2绝对是当前最值得关注的选择。这个由CXH大佬开发的插件最近迎来了重大更新,正式支持ComfyUI环境,让原本就强大的反推功能如虎添翼。我在…...

3分钟掌握D2RML:暗黑2重制版终极多开解决方案

3分钟掌握D2RML:暗黑2重制版终极多开解决方案 【免费下载链接】D2RML Diablo 2 Resurrected Multilauncher 项目地址: https://gitcode.com/gh_mirrors/d2/D2RML 还在为暗黑2重制版繁琐的多账号登录而烦恼吗?传统方式需要反复输入密码、处理令牌失…...

数据库模型设计实战:如何导出数据库完整数据字典_规范化流程

INFORMATION_SCHEMA 是 MySQL 导出数据字典的唯一可靠来源,需组合查询 COLUMNS、KEY_COLUMN_USAGE 和 TABLE_CONSTRAINTS 视图获取完整元信息;PostgreSQL 则必须使用 pg_catalog 系统表而非 information_schema。导出 MySQL 数据字典时,INFOR…...

Go语言怎么做幂等设计_Go语言接口幂等性教程【秒懂】

sync.Map 适用于小流量、单机、QPS 几百的幂等场景,但无自动过期、不跨进程;需用结构体缓存结果、定时清理、避免 key 污染,Redis 需原子 SetNXEX,DB 唯一索引为兜底。用 sync.Map 做单机幂等,什么场景能用、什么情况会…...

Maomi.In | .NET 全能多语言解决方案碳

AI Agent 时代的沙箱需求 从 Copilot 到 Agent:执行能力的质变 在生成式 AI 的早期阶段,应用主要以“Copilot”形式存在,AI 仅作为辅助生成建议。然而,随着 AutoGPT、BabyAGI 以及 OpenAI Code Interpreter(现为 Advan…...

Python异步爬虫如何应对封IP_结合asyncio与代理池实现轮询请求

asyncio.run()仅适用于单次顶层协程启动,爬虫主循环需用run_until_complete或while Truesleep;代理接入需区分HTTP/HTTPS/SOCKS5,配合Connector限流、Semaphore控制并发,并通过响应头精准识别封禁后分级降级。asyncio.run() 里直接…...

【仅剩72小时解锁】:2026奇点大会未公开微调训练日志样本集(含错误梯度、loss突变、token漂移原始记录)

第一章:2026奇点智能技术大会:大模型个性化微调 2026奇点智能技术大会(https://ml-summit.org) 在2026奇点智能技术大会上,大模型个性化微调成为核心议题之一。与传统全量微调不同,本届大会重点展示了低秩适配(LoRA&…...

【仅开放至Q3末】SITS2026改造原始日志脱敏包+Prompt工程checklist(含17个金融/政务场景特化模板)

第一章:SITS2026案例:大模型客服系统改造 2026奇点智能技术大会(https://ml-summit.org) 某大型金融集团原有客服系统基于规则引擎与传统NLU模块构建,响应准确率不足68%,平均首次解决时长(FTTR)达4.7分钟…...

LLM微调引发的歧视放大效应,实测3类Prompt工程反制策略+BiasScore量化验证工具链

第一章:大模型工程化中的伦理与合规考量 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从单纯追求性能指标,转向对社会影响、法律边界与价值对齐的系统性治理。在生产环境中部署LLM服务时,伦理风险并非抽象议题,而…...

Agent框架选型生死线,深度拆解2026奇点大会公布的3层可信评估矩阵(含可复用的SLA合规检测清单)

第一章:Agent框架选型生死线:一场关乎系统存续的决策博弈 2026奇点智能技术大会(https://ml-summit.org) 在生产级AI系统演进中,Agent框架并非可插拔的“工具箱组件”,而是决定系统韧性、可观测性与迭代成本的底层契约。一次错误…...

higress 这个中登才是AI时代的心头好搪

核心摘要:这篇文章能帮你 ?? 1. 彻底搞懂条件分支与循环的适用场景,告别选择困难。 ?? 2. 掌握遍历DOM集合修改属性的标准姿势与性能窍门。 ?? 3. 识别流程控制中的常见“坑”,并学会如何优雅地绕过去。 ?? 主要内容脉络 ?? 一、痛…...

ATCODER ABC C题解云

这&#xff0c;是一个采用C精灵库编写的程序&#xff0c;它画了一幅漂亮的图形&#xff1a; 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){ for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...

喔去,litellm 竟然被投毒了,赶紧检查你的机器中招了没有驴

一、什么是setuptools&#xff1f; setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你&#xff1a; 定义 Python 包的元数据&#xff08;如名称、版本、作者等&#xff09;。 声明包的依赖项&#xff0c;确保你的包能够正确运行。 构建源代码分发包&…...

大模型端侧部署必读:6类硬件约束下压缩算法适配矩阵(含INT4/FP8/FP16混合精度吞吐实测数据)

第一章&#xff1a;大模型工程化中的模型压缩算法对比 2026奇点智能技术大会(https://ml-summit.org) 模型压缩是实现大语言模型在边缘设备、低延迟服务及成本敏感场景中落地的关键工程环节。不同压缩路径在精度保留、推理加速比、部署兼容性与训练资源消耗上呈现显著差异&…...

AI基建重构倒计时:SITS2026圆桌闭门报告(仅限首批200家企业的7大工程化预警信号)

第一章&#xff1a;SITS2026圆桌&#xff1a;大模型工程化的未来趋势 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026圆桌讨论中&#xff0c;来自Meta、阿里云、Hugging Face与CNCF大模型工作组的七位工程实践者共同指出&#xff1a;大模型工程化正从“能跑通”迈向…...

C-NCAP/E-NCAP拿高分秘籍:AEB测试中的‘偏置’、‘夜间’和‘弯道’三大难点如何攻克?

C-NCAP/E-NCAP高分攻略&#xff1a;破解AEB三大测试难题的技术实践 当一辆测试车以50km/h驶向静止目标车时&#xff0c;仪表盘突然亮起红色预警图标——这不是故障&#xff0c;而是AEB系统正在经历NCAP测试的"终极考验"。在C-NCAP最新测试规程中&#xff0c;偏置碰撞…...

免费Altium电路图转换器:如何轻松查看和转换SchDoc文件

免费Altium电路图转换器&#xff1a;如何轻松查看和转换SchDoc文件 【免费下载链接】python-altium Altium schematic format documentation, SVG converter and TK viewer 项目地址: https://gitcode.com/gh_mirrors/py/python-altium 在电子设计领域&#xff0c;Altiu…...

【独家首发】某Top3云厂商未公开的XAI-SLO协议:模型解释延迟<87ms、置信度≥99.2%、审计日志留存180天——附SLA契约模板

第一章&#xff1a;大模型工程化中的模型解释性方案 2026奇点智能技术大会(https://ml-summit.org) 在大规模语言模型落地金融风控、医疗辅助与司法决策等高信任场景时&#xff0c;黑盒预测已不再可接受。模型解释性不再是事后分析的附加能力&#xff0c;而是工程化交付的必要…...

Go-依赖管理实战:从go.sum到GOSUMDB的深度解析

1. go.sum文件&#xff1a;Go依赖的"身份证"系统 第一次接触Go项目时&#xff0c;你可能注意过一个叫go.sum的文件。这个看似简单的文本文件&#xff0c;实际上是Go模块依赖管理的核心安全机制。想象一下&#xff0c;当你从网上下载一个软件包&#xff0c;如何确认下…...

终极指南:3分钟掌握Perseus解锁碧蓝航线全皮肤

终极指南&#xff1a;3分钟掌握Perseus解锁碧蓝航线全皮肤 【免费下载链接】Perseus Azur Lane scripts patcher. 项目地址: https://gitcode.com/gh_mirrors/pers/Perseus 还在为碧蓝航线中那些令人心动的皮肤无法体验而烦恼吗&#xff1f;Perseus原生库补丁为你提供了…...