FOFA语法(一些些基础)

起源于bot告诉我,我搜索来的答案是错的T-T然后他又问我一题我还是不会(允悲)

IP地址

类别

  • IPv4 由32位二进制数构成,转化为十进制数

  • IPv6 由8组4位的十六进制数构成

IPv4搜索方式

1、通过单一的IPv4地址搜索 直接输入ip,或者ip=”要输入的ip”

2、C段查询 ip=”220.181.111.1/24” 搜索结果包括220.181.111.0到220.181.111.255

什么是ip C段

eg:192.168.2.0/24

192.168.2.0换成32位二进制,四组,每组8位

/24 表示前24位不变,后8位由全0变化到全1的过程,也就是由“00000000”变化到“11111111”
又因为全0是子网网络地址,全1是子网广播地址,这两个地址是不分配给主机使用的。
所以有效的可分配的范围是前24位不变,后8位由“00000001”变化为“11111110”的范围
再转换回十进制就是192.168.2.1192.168.2.254
192.168.2.0/24就是代表IP为192.168.2.1
192.168.2.254

IPv6搜索方式

输入单一的IPIv6地址进行查询

端口查询

端口号的范围 0-65535

port=”端口号”

网络协议

protocol 通过协议名进行查询,一种高级协议,用于特定的服务或应用

​ eg:http用于网页浏览,ftp用于文件传输,snmp主要用于网络设备的管理

base_protocol 基础协议,确保数据正确可靠传输,传输层的基础协议为udp,tcp

banner 对协议返回信息进行查询,包含状态码、响应头信息等

协议数据返回信息!=网站数据返回信息

前者是通过特定网络协议返回的服务器响应信息,后者是web应用层面的http响应数据

APP规则语法

规则指纹集

app=”xxx”

域名和主机名

域名可以映射IP地址

domain 根域名

host 子域名/主机名

操作系统和服务器

os=”操作系统”

server=”服务器信息”

由于os和server的信息在显示页面出现在header和banner中,所以可以直接使用header=”操作系统”等语句,有相同作用

自治系统号、所属组织

一个组织可能拥有多个自治系统

asn(自治系统号)

org(所属组织)

标题

title=”网站标题”

网站图标

下载网页图标,通过mm5的方式计算出相应hash值

icon_hash=””

网站内容

body

js特征

js_name相同不代表是同一个文件,还要看js_md5

eg:js_name=js/jquery.js

js_md5

body_hash

将网站正文通过mm3的方式计算出hash值

HTTP状态码

status_code

header_hash

将http/https响应头信息去掉value值所计算生成的hash

SDK_hash

使用第三方网站服务,可找到同一资产的拥有者且使用唯一ID的所有网站

数据类型

type=service 协议数据 其中http/https协议不包含html源代码,包含响应信息

type=subdomian 网站数据 http/https抓包,包含html源代码且解析了其他网站字段

CName和CName_domain

CName被称为规范名字(别名),是一种DNS记录类型,作用是将一个别名映射到一个真实域名上,通常用于同时提供WWW和MAIL服务的计算机//别名的好处是更容易更新IP地址

after和before

eg:查询7月10日之前更新的数据

&&before=”2024-07-10”

时间区间离现实时间越远,包含存活数据几率越小