惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
宝玉的分享
宝玉的分享
The Cloudflare Blog
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
A
About on SuperTechFans
MyScale Blog
MyScale Blog
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
D
Docker
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
P
Proofpoint News Feed
L
LangChain Blog
Blog — PlanetScale
Blog — PlanetScale
The GitHub Blog
The GitHub Blog
博客园 - 【当耐特】
Martin Fowler
Martin Fowler

博客园_首页

Plist 二进制格式 Milvus 和 PGVector,哪个更好? OpenClaw 已过时?在 VS Code 中运行 Hermes Agent! 第30篇文章:一个大三计科生的自白 Manim如何在数学公式中完美显示中文? Docker 部署 RocketMQ 5 并发编程核心概念辨析 C#事务处理最佳实践:别再让“主表存了、明细丢了”的破事发生 CLI 是什么?为什么大厂突然集体卷命令行? 【从0到1构建一个ClaudeAgent】协作-自主Agent UIImageView 设置图片不生效的原因排查 最小二乘问题详解20:无先验约束下的增量式SFM自由网平差 痞子衡嵌入式:大话双核i.MXRT1180之XIP应用里借助MU实现可靠Flash IAP的方法 AI Chat 封装, SemanticKerne.AiProvider.Unified 已发布 Windows下右键编辑js文件无法打开记事本——在注册表中使用环境变量 在后台服务中使用 Scoped 服务,为什么总是报错? H200 安装驱动并使用sglang启动模型 wireshark 抓包Trap上报告警内容 我用 AI 辅助开发了一系列小工具(2):图片压缩工具 [A Primer On MC and CC] 2.1 Memory Consistency 1 - 指令重排序和 SC 模型 Oracle数据库SCN推进技术详解与实践指南 玩转控件:封装个带图片的Label控件 Claude Code 4.7 真正该升级的不是模型,而是你的工作流 前端小白一句话,AI 帮我做了个颜值拉满的桌面媒体播放器。当代码不再是门槛,一句话编程就是现实。 5. WorkBuddy: 小龙虾的灵魂三件套,让你的小龙虾不只是工具 SQLite 分片方案实战:三种分片策略的深度对比 告别简陋 UI!一款基于 Fluent Design 和基于 WinUI 的开源免费、现代化的 Avalonia UI 控件库 关于二进制排列组合枚举的总结 AI开发-python-LangGraph框架(3-27-LangGraph从零实现大模型智能决策工作流) ElasticSearch主分片和副本分片概念详解
一文看懂fofa常用语法,告别混淆,精准打击!
ShoreKiten · 2026-05-22 · via 博客园_首页

免责声明
用途限制:本技术文章及所述之网络空间测绘查询语法(包括但不限于 host、domain、title、body 等),仅限于网络安全技术研究、学术交流、企业合规资产网络边界审计及获合法授权的教学演示,严禁用于任何非法用途。
合规要求:使用者在参考本文进行资产梳理或技术验证时,须严格遵守《中华人民共和国网络安全法》、《数据安全法》及相关法律法规。在未取得目标系统所有者明确、合法的书面授权前,不得对任何网络资产实施深度探测、漏洞扫描、漏洞利用或破坏性行为。
责任豁免:任何组织或个人因直接、间接利用本文内容、技术方法或测绘工具而导致的任何法律纠纷、行政处罚、民事赔偿或刑事责任,均由行为人自行承担完全责任。作者及发布平台对因不当使用本文信息所引发的任何直接或间接后果,不承担任何法律责任、连带责任或担保义务。


前言:在很多漏洞挖掘信息搜集的视频中,fofa作为一个必不可少的因素频频出现在各大视频,很多时候视频里面给的就是一个简单常用的例子,但是当自己真正接触之后才会发现有很多容易混淆的地方和自己尝试构造查询语法时出现的语法错误,因此,本文就以body、title、host、domain这四个来详细展开


四者详解

Host(主机 / 访问目标)

host 语法用于搜索具体的独立主机、特定域名或特定 IP。它是对整个网络节点(主机名或 IP 加上端口的映射关系)的精准或模糊匹配,形式如下:

Host: <域名>:<端口号>

当我们目标明确,就想找某个或某批域名的资产时,就可以直接搜索host
host=“baidu.com”

image

点开第一个地址的链接并进行抓包,可以看到host头中就有我们搜索时用到的badiu.com

image

然后这里因为查询的是字符串形式,如果host是ip+端口的话就搜索不到


domain(域名)

domain 语法用于搜索某个根域名及其所有子域名下的资产。它不关心这些域名解析到了哪个 IP,也不管开放了什么端口,只要域名后缀匹配,就会全部抓取出来

这里其实有个问题是正常情况下如果host=".baidu.com"才会进行模糊查询,但是在刚才的图中我们可以发现没有加.也会有好多子域名,这个就涉及到了fofa的匹配机制、IP反查和证书的关联问题,具体这里就不说了。

既然这样的话,host能干domain的活,为什么还要单拎出来一个domain?这个涉及到的是大批量挖掘时会出现的问题【当然了正常情况下也出现不了,毕竟肯定语法还要进一步完善】

host="baidu.com":会搜出 baidu.com.example.com 或者 mybaidu.com。因为这些非官方的恶意域名/钓鱼网站里也包含了 baidu.com 这串字符串。

domain="baidu.com":有严格的域名后缀层级算法,出来的是百度官方的子域名(如 xxx.baidu.com)


title(网页标题)

title 语法专门用于匹配 HTML 标签中的内容。也就是我们在浏览器打开一个网页时,标签页上显示的文本,适合用来快速定位特定系统、后台管理界面或知名组件。因为很多企业级软件、堡垒机、路由器的管理后台,其标题都是固定且唯一的,举一个常用的语法:

title="后台管理系统"

image

这里显示的就是标题,我们随机点开一个网页并查看源代码:

image

这样看到的就更加清楚了


body(网页正文/源码)

body 语法则是对整个网页的 HTML 源代码 进行关键词匹配。它不仅看用户能肉眼看到的文字,还会看埋在代码里的所有细节

匹配范围:包含 HTML 标签、JavaScript 脚本内容、CSS 样式表、隐藏的输入框(Input)、甚至是注释信息

通常用于发现特定的指纹特征,比如某个漏洞组件特有的 JS 文件路径、某个前端框架特有的变量名、或者企业网站脚部固定的备案号/版权声明

body="struts2":寻找网页源码中包含 Struts2 框架特征的资产。

body="© 2026 XX技术有限公司":通过版权信息,准确捞出该企业旗下所有的 Web 站点
(即使这些站点换了域名或使用了纯 IP)

这里举第一个,输入之后随机点开一个看一下:
image

看着明显是一个struts2漏洞复现的界面,后面具体就不详细讲了。


本来还想写进阶用法的,但真要进阶也是自己组合探索出来的,一般情况下用常用的语法已经足够了,实在不行tsscan一把梭,但还是推荐先自己手动获取有关资产,那么最后还是自行探索吧。