FOFA 是一个网络空间资产搜索引擎,用户可以通过其提供的查询语法对互联网上的公开资产(如网站、服务器、设备等)进行搜索。FOFA 的查询语法支持多种过滤条件,允许用户精确查找目标。
FOFA网址
以下是 FOFA 语法的常见用法和技巧:
1. 基本语法结构
FOFA 的基本查询结构为:
keyword1="value1" keyword2="value2"
多个查询条件之间的关系默认是“与”(AND)。你可以通过关键词和值来筛选特定的搜索结果。
2. 常用 FOFA 查询字段
字段 | 描述 | 示例 |
---|---|---|
ip | 搜索指定IP地址的资产 | ip="8.8.8.8" |
port | 搜索特定端口开放的资产 | port="80" |
domain | 搜索与某个域名相关的资产 | domain="example.com" |
title | 搜索网页标题中包含特定关键词的资产 | title="admin" |
header | 搜索HTTP头部中包含特定关键词的资产 | header="nginx" |
body | 搜索网页正文中包含特定关键词的资产 | body="login" |
protocol | 搜索使用特定协议的资产 | protocol="http" |
country | 搜索位于某个国家的资产 | country="CN" |
city | 搜索位于某个城市的资产 | city="Beijing" |
status_code | 搜索返回特定HTTP状态码的资产 | status_code="200" |
cert | 搜索SSL证书中的域名或其他信息 | cert="google.com" |
as_number | 搜索属于特定自治系统编号(AS号)的资产 | as_number="AS15169" |
app | 搜索使用特定软件或技术的资产(如Nginx、Apache、Tomcat等) | app="Apache" |
os | 搜索运行特定操作系统的资产 | os="Windows" |
3. 逻辑运算符
-
AND
:默认逻辑运算符,不需要显式使用。例如,ip="1.1.1.1" port="80"
表示搜索 IP 为1.1.1.1
且端口为 80 的资产。 -
OR
:逻辑“或”运算。例如,ip="1.1.1.1" OR ip="8.8.8.8"
表示搜索IP为1.1.1.1
或8.8.8.8
的资产。 -
NOT
:排除特定条件。例如,ip="1.1.1.1" NOT port="80"
表示搜索 IP 为1.1.1.1
但端口不为 80 的资产。
4. 模糊查询和通配符
-
*
:通配符,可以匹配任意字符。例如,domain="*.com"
搜索所有以.com
结尾的域名。 -
body~="keyword"
:模糊查询,搜索网页正文中包含近似关键词的内容。
5. 常见查询示例
-
查找某个IP开放的所有端口:
ip="8.8.8.8"
-
查找包含特定域名的资产:
domain="example.com"
-
查找标题中包含"login"的网页:
title="login"
-
查找运行Apache服务器的软件:
app="Apache"
-
查找特定国家/城市的资产:
country="CN" city="Beijing"
-
查找使用SSL证书的站点:
cert="example.com"
-
查找运行在Windows操作系统上的资产:
os="Windows"
-
查找开放80端口但不使用nginx的服务器:
port="80" NOT app="nginx"
6. 进阶查询技巧
1. 组合查询
可以使用多个查询条件来组合复杂的搜索。例如:
ip="8.8.8.8" AND port="80" AND app="Apache"
该查询返回的是IP为 8.8.8.8
,端口为 80
且运行Apache的服务器。
2. 批量IP查询
可以使用 ip
字段对多个IP地址进行批量查询。例如:
ip="8.8.8.8" OR ip="1.1.1.1"
3. 子网查询
使用CIDR表示法对特定子网范围进行查询。例如:
ip="192.168.1.0/24"
这将返回所有属于 192.168.1.0/24
子网的IP资产。
4. 排除特定条件
排除某些条件的搜索。例如,搜索IP为 8.8.8.8
但端口不是80的资产:
ip="8.8.8.8" NOT port="80"
7. 应用场景
-
资产发现:利用 FOFA 搜索特定域名或IP相关的资产,可以用于全面了解目标的公开网络服务和端口信息。
-
漏洞排查:结合 FOFA 搜索特定软件(如Apache、Tomcat等)版本,配合已知漏洞信息查找易受攻击的目标。
-
安全评估:通过FOFA查询某个企业或组织的公开服务和设备,进行外部暴露面安全评估。
-
渗透测试:在测试前期,通过 FOFA 进行信息收集,获取目标的网络环境及服务情况,制定渗透策略。
8. FOFA API
FOFA 还提供了 API 接口,可以通过编程语言(如Python)进行自动化查询和数据分析。常见用法包括批量查询、定期监控特定资产等。
总结
FOFA 是一款强大的网络空间搜索引擎,通过其灵活的查询语法,可以有效地发现和分析网络资产。熟练掌握 FOFA 语法,可以大大提高信息收集的效率,尤其在安全评估、渗透测试和漏洞排查中具有重要价值。