一、FOFA是什么?

FOFA是一款网络空间测绘的搜索引擎,旨在帮助用户以搜索的方式查找公网上的互联网资产。

简单来说,FOFA的使用方式类似于谷歌或百度,用户可以输入关键词来匹配包含该关键词的数据。不同的是,这些数据不仅包括像谷歌或百度一样的网页,还包括像摄像头、打印机、数据库、操作系统等资产。


网络空间测绘可以被认为是网络空间的“地图”。就像谷歌地图或高德地图通过卫星图像对地形进行测绘,网络空间测绘也是通过技术探针对全球网络资产进行探测。

然而,网络空间分为公网和内网。FOFA主要针对公网上的资产进行探测,类似于谷歌地图上的建筑物(IP地址),虽然可以看到建筑物的外部结构和规模,但无法了解内部的情况。这是因为侵犯内网的隐私是违法的。

FOFA官网地址

二、FOFA语法

进入FOFA的官网,可以查询所有语法。

高级搜索

逻辑连接符 具体含义
= 匹配,当设置为=""时,可查询不存在字段或者值为空的情况。
== 完全匹配,当设置为==""时,可查询存在且值为空的情况。
&&
ll
!= 不匹配,当设置为!=""时,可查询值为空的情况。
*= 模糊匹配,使用*或者?进行搜索,比如banner*="mys??"(个人版及以上可用)。
() 确认查询优先级,括号内容优先级最高。

关于建站软件的搜索语法请参考:组件列表

基础类(General)

语法 例句 描述
IP ip="1.1.1.1"
ip="220.181.111.1/24"
ip="IPv6"
分别通过单一IPv4地址、IPv4C段、单一IPv6地址进行查询
端口 port="6379" 通过端口号进行查询
域名 domain="qq.com" 通过根域名进行查询
主机 host=".fofa.info" 通过主机名进行查询
操作系统 os="centos" 通过操作系统进行查询
服务器 server="Microsoft-IIS/10" 通过服务器进行查询
自治系统号 asn="19551" 通过自治系统号进行搜索
组织 org="LLCBaxet" 通过所属组织进行查询
是否拥有域名 is_domain=true
is_domain=false
筛选拥有域名的资产/筛选没有域名的资产
是否为IPv6 is_ipv6=true
is_ipv6=false
筛选是IPv6的资产/筛选是IPv4的资产

标记类(SpecialLabel)

语法 例句 用途说明
app app="Microsoft-Exchange" 通过FOFA整理的规则进行查询
fid fid="sSXXGNUO2FefBTcCLIT/2Q==" 通过FOFA聚合的站点指纹进行查询
product product="NGINX" 通过FOFA标记的产品名进行查询
category category="服务" 通过FOFA标记的分类进行查询
type type="service"
type="subdomain"
筛选协议资产
筛选服务(网站类)资产
cloud_name cloud_name="Aliyundun" 通过云服务商进行查询
is_cloud is_cloud=true
is_cloud=false
筛选是云服务的资产
筛选不是云服务的资产
is_fraud is_fraud=true
is_fraud=false
筛选是仿冒垃圾站群的资产
筛选不是仿冒垃圾站群的资产
is_honeypot is_honeypot=true
is_honeypot=false
筛选是蜜罐的资产
筛选不是蜜罐的资产

协议类(type=service)

语法 例句 用途说明
protocol protocol="quic" 通过协议名称进行查询
banner banner="users" 通过协议返回信息进行查询
base_protocol base_protocol="udp"
base_protocol="tcp"
查询传输层为udp协议的资产
查询传输层为tcp协议的资产

网站类(type=subdomain)

语法 例句 用途说明
title title="beijing" 通过网站标题进行查询
header header="elastic" 通过响应标头进行查询
header_hash header_hash="1258854265" 通过http/https响应头计算的hash值进行查询
body body="网络空间测绘" 通过HTML正文进行查询
body_hash body_hash="-2090962452" 通过HTML正文计算的hash值进行查询
js_name js_name="js/jquery.js" 通过HTML正文包含的JS进行查询
js_md5 js_md5="82ac3f14327a8b7ba49baa208d4eaa15" 通过JS源码进行查询
cname cname="ap21.inst.siteforce.com" 通过别名记录进行查询
cname_domain cname_domain="siteforce.com" 通过别名记录解析的主域名进行查询
icon_hash icon_hash="-247388890" 通过网站图标的hash值进行查询
status_code status_code="402" 筛选服务状态为402的服务(网站)资产
icp icp="京ICP证030173号" 通过HTML正文包含的ICP备案号进行查询
sdk_hash sdk_hash=="Mkb4Ms4R96glv/T6TRzwPWh3UDatBqeF" 通过网站嵌入的第三方代码计算的hash值进行查询

地理位置(Location)

语法 例句 用途说明
country country="CN"
country="中国"
通过国家的简称代码或中文名称进行查询
region region="Zhejiang"
region="浙江"
通过省份/地区的英文名称或中文名称进行查询
city city="Hangzhou" 通过城市英文名称进行查询

证书类

语法 例句 用途说明
cert cert="baidu" 通过证书进行查询
cert.subject cert.subject="OracleCorporation" 通过证书的持有者进行查询
cert.issuer cert.issuer="DigiCert" 通过证书的颁发者进行查询
cert.subject.org cert.subject.org="OracleCorporation" 通过证书持有者的组织进行查询
cert.subject.cn cert.subject.cn="baidu.com" 通过证书持有者的通用名称进行查询
cert.issuer.org cert.issuer.org="cPanel,Inc." 通过证书颁发者的组织进行查询
cert.issuer.cn cert.issuer.cn="SynologyInc.CA" 通过证书颁发者的通用名称进行查询
cert.is_valid cert.is_valid=true
cert.is_valid=false
筛选证书有效性的资产
cert.is_match cert.is_match=true
cert.is_match=false
筛选证书和域名匹配性的资产
cert.is_expired cert.is_expired=true
cert.is_expired=false
筛选证书过期状态的资产
jarm jarm="15af977ce25de452b96affa2addb1036" 通过JARM指纹进行查询
tls.version tls.version="TLS1.3" 通过tls的协议版本进行查询
tls.ja3s tls.ja3s="15af977ce25de452b96affa2addb1036" 通过tls的ja3s指纹进行查询

时间类(Lastupdatetime)

语法 例句 用途说明
after after="2023-01-01" 筛选某一时间之后有更新的资产
before before="2023-12-01" 筛选某一时间之前有更新的资产
after&before after="2023-01-01"&&before="2023-12-01" 筛选某一时间区间有更新的资产

独立IP语法

独立IP系列语法,不可和上面其他语法共用

语法 例句 用途说明
port_size port_size="6" 筛选开放端口数量等于6个的独立IP
port_size_gt port_size_gt="6" 筛选开放端口数量大于6个的独立IP
port_size_lt port_size_lt="12" 筛选开放端口数量小于12个的独立IP
ip_ports ip_ports="80,161" 筛选同时开放不同端口的独立IP
ip_country ip_country="CN" 通过国家的简称代码进行查询独立IP
ip_region ip_region="Zhejiang" 通过省份/地区英文名称进行查询独立IP
ip_city ip_city="Hangzhou" 通过城市英文名称进行查询独立IP
ip_after ip_after="2021-03-18" 筛选某一时间之后有更新的独立IP
ip_before ip_before="2019-09-09" 筛选某一时间之前有更新的独立IP

三、搜索技巧

我们可以使用FOFA搜索一些我们想要用的网址,比如最近比较火的ChatGPT,我们可以通过在FOFA上搜索网站标题,找到包含ChatGPT关键词的网站。

title="chatgpt"

也可以搜索路由器、交换机:

app="Tenda-路由器"  (也可以直接搜索"路由器"即可)

 摄像头、监控:

header=”摄像头品牌”
app="摄像头品牌-视频监控"
Hostname:主机名   指定主机名
device:设备名  指定设备名
keyword:关键词  指定首页关键词

防火墙:

app="H3C-下一代防火墙"(也可以直接搜索"防火墙"即可)

 以上使用方法仅供网络安全学习使用。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐