0x01 前言
❝
本文将介绍FOFA,探讨其在网络安全中的作用。将讨论FOFA的功能、语法和实践,文末包含彩蛋福利,点击「阅读原文」体验更佳。
(本文首发博客:https://sanshiok.com/archive/13.html)
❞
0x02 FOFA?
FOFA是一款网络空间测绘的搜索引擎,旨在帮助用户以搜索的方式查找「公网上的互联网资产」。简单的来说就是「网络安全中的"谷歌"」,不同的是,这些数据不仅包括像谷歌一样的网页,还包括像摄像头、打印机、数据库、操作系统等资产。
网络空间测绘可以被认为是网络空间的“地图”。就像谷歌地图或高德地图通过卫星图像对地形进行测绘,网络空间测绘也是通过技术探针对全球网络资产进行探测。但fofa是基于IP和端口去发现资产,因此有些资产是发现不了的,类似于「二级目录下的网页大概率会被收录不了」。
0x03 基础语法
基础语法在FOFA官网处,这里全部贴过来做个保留,可以直接跳过这个部分,等到用到的时候再查阅
高级搜索
逻辑连接符 | 具体含义 |
---|---|
= | 匹配,当设置为="" 时,可查询不存在字段或者值为空的情况。 |
== | 完全匹配,当设置为=="" 时,可查询存在且值为空的情况。 |
&& | 与 |
ll | 或 |
!= | 不匹配,当设置为!="" 时,可查询值为空的情况。 |
*= | 模糊匹配,使用* 或者? 进行搜索,比如banner*="mys??" (个人版及以上可用)。 |
() | 确认查询优先级,括号内容优先级最高。 |
关于建站软件的搜索语法请参考:组件列表:https://fofa.info/library
基础类(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的资产 |
…… 全部支持语法请点击「阅读原文」查看
0x04 奇淫技巧
划重点,这里结合实战经验介绍一下常用的FOFA用法
批量发现资产
在平时的漏洞挖掘中,若发现漏洞,都可以尝试通过FOFA搜索,因为这个模板很有可能是一些通用的建站模板,这里举一个之前挖的EDUsrc案例,开局是一个APP如图,还有一个注册功能,图片没体现出来:
注册后,来到个人中心,绕过ssl pinning后抓包,修改UserId
参数越权遍历出全系统用户信息,泄露身份证,手机号等,至此高危到手:
通过数据包获取到了域名为:target.com
,直接访问到了一个APP的下载页面:
F12查看网页特征,直接FOFA搜索网页特征body="为全体师生提供咨询、生活....综合服务"
,这个地方要根据实际的情况选择语法进行搜索,比如搜索特别的js名称,favicon.ico
等,最终通过FOFA搜到资产,刷到了60+Rank分
说明一下,下载的第一个APP有注册功能,有的相同APP但没有注册功能,在刷分过程中遇到这种情况怎么办,:
-
1、开发者删除了前端页面的注册功能,但是通过其他APP的注册页面获取到数据包,替换域名请求也是能够直接注册的。 -
2、跳过注册,直接替换越权数据包中的域名,如果目标APP开发者对认证信息使用弱校验,凭证通用也是能够验证通过的。 -
3、通过信息收集去获取账号。
关于这个打法,企业src也是适用的,「若你在A网站发现了未授权漏洞,你通过FOFA规则搜索出来的资产也大概率是存在未授权漏洞的」,这个时候就能赏金乘n了。
发现脆弱资产
这是某次运营商众测,通过FOFA搜索目标网站的favicon
图标,即:icon_hash="1471194169"
,逐个点击通过Burpsuite的插件被动扫描成功捡漏BurpShiroPassiveScan(https://github.com/pmiaowu/BurpShiroPassiveScan),使用ShiroAttack2(https://github.com/SummerSec/ShiroAttack2)命令执行:
后面发现打偏了,只能CNVD+1了:
找福利
通过FOFA找福利网站,这里以ChatGPT为例,由于需要魔法上网才能使用,所以很多人选择搭建一些第三方的ChatGPT平台,比如这个项目:
chatgpt-web:https://github.com/binjie09/chatgpt-web
通过FOFA语法找到网站特征:
GET到类似网站fid="qRHEiUKnaLogboLxIe3H1w=="
:
实际应用中,是需要花点心思构造网站特征,语法越详细搜索到资产越符合要求。
其他操作
除了这些操作,还可以利用fofa:
-
找DVWA靶场: title="DVWA"
-
SQLi-LABS靶场: title="SQL Injections"
-
看看黑客们都用啥工具: body="Directory listing for /" && body="dirsearch"
,这里工具可以替换为BurpSuite等 -
...
0x05 彩蛋放送
彩蛋一
最近搭建了一个FOFA在线查询WEB版本,可以供一些没有开通FOFA会员的师傅使用,当然还是建议有条件的师傅去官网开通会员支持华顺信安:
原文始发于微信公众号(三十的安全屋):FOFA(技巧)是个好东西,真希望人人都有
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论