当前位置: 首页 > article >正文

[渗透测试]热门搜索引擎推荐— — fofa篇

[渗透测试]热门搜索引擎推荐— — fofa篇

免责声明:本文仅用于分享渗透测试工具,大家使用时,一定需要遵守相关法律法规。
除了fofa,还有很多其他热门的,比如:shodan、奇安信的鹰图、钟馗之眼等,这里就不一一介绍了,感兴趣的同学可以下来自行了解。想要了解shodan使用的可以看下面这篇文章:

  • https://blog.csdn.net/weixin_45565886/article/details/145461374?spm=1001.2014.3001.5501

1. 介绍

fofa可以理解为中国版的shodan,FOFA(Fingerprinting Organizations with Advanced Tools)是一家总部位于中国的网络安全公司提供的一款网络搜索引擎,专注于帮助用户收集和分析互联网上的设备和服务信息。其主要功能包括:

  1. 设备指纹识别: FOFA 可以通过对设备的指纹信息进行识别,帮助用户发现和查找特定类型的设备。
  2. 漏洞扫描: FOFA 提供了一些漏洞扫描功能,可以帮助用户检测目标设备中可能存在的漏洞。
  3. 定制搜索: 用户可以使用 FOFA 的搜索语法和过滤器,根据特定的条件和关键词来执行定制搜索,以找到目标设备和服务。
  4. 图形化界面: FOFA 提供图形化的搜索界面,使用户能够直观地查看搜索结果、图表和图谱,从而更好地理解互联网上的设备布局。
  5. 历史数据: FOFA 记录了历史搜索结果,用户可以查看设备和服务的历史信息,帮助他们了解网络的发展和变化。
  6. API 支持: FOFA 提供了 API,使用户能够通过编程方式访问其搜索引擎,从而集成 FOFA 的功能到自己的应用程序或工作流程中。

2. 使用

  1. 进入官网:https://fofa.info/
  2. 搜索框输入内容,并点击搜索
    在这里插入图片描述
  3. 查看服务技术信息
    在这里插入图片描述

3. 常用语法

官方教程:https://fofa.info/

在这里插入图片描述

在这里插入图片描述

3.1 指定标题:title=“管理后台”

3.2 指定域名:domain=“baidu.com”

搜索所有子域名

3.3 指定host:host=“qq.com”

搜索host内所有带有qq.com的域名

浏览器中的 host 头可能与访问的域名不一致,这通常是由于重定向、代理或 DNS 解析等原因导致的
例:

  • 你访问的域名是 cloud.baidu.com,但浏览器中的 Host 是 fclog.baidu.com。
  • 这种情况可能是由于以下原因:
    • 重定向:服务器可能将请求重定向到 fclog.baidu.com,导致 Host 头被修改。
    • 代理或中间件:某些代理服务器或中间件可能会修改 Host 头。
    • DNS 解析:域名解析可能指向了 fclog.baidu.com 的 IP 地址。

3.4 指定ip:ip=“10.63.x.x” / ip=“10.16.1.0/16”

指定单一ip或根据ip段来进行搜索

3.5 指定请求体:body=“后台”

例如:我们搜索微博的登录后台
body=“后台” && domain=“weibo.com”
在这里插入图片描述

3.6 指定服务器:server=“Apache”

例如:Apache被爆出有漏洞,我们就可以通过server进行过滤

3.7 指定城市:city=“beijing”

4. 实战

下面将演示弱口令爆破ActiveMQ管理后台

  1. fofa搜索:org!=“Hangzhou Alibaba Advertising Co.,Ltd.” && body=“ActiveMQ” && port=“8161”
    在这里插入图片描述
  2. 点击第一个链接进入网站,并在网址后输入/admin 进行管理后台
    在这里插入图片描述
  3. Active mq默认账户是 admin/admin,我们尝试输入,发现成功登录后台,可任意操作消息队列,包括删除等高危操作
    在这里插入图片描述

5. tips:高级用法

5.1 查找未授权访问漏洞

title=“401 Unauthorized” || title=“403 Forbidden” || title=“404 Not Found”

原理:

  • 401 Unauthorized:表示未授权访问,通常出现在需要认证但未提供凭证的场景。但若系统配置错误(如未正确关闭调试接口),可能允许绕过认证直接访问敏感接口。
  • 403 Forbidden:表示禁止访问,但某些目录或文件(如备份文件、配置接口)因权限设置错误可能被直接访问。
  • 404 Not Found:虽然表示资源不存在,但结合路径遍历漏洞(如 /admin/…/backup.zip)可能暴露本应隐藏的文件。

漏洞逻辑:

这些HTTP状态码可能暴露未正确配置权限的接口或文件,攻击者可通过进一步探测确认是否存在未授权访问。

5.2 查找弱口令漏洞

方式一:title=“401 Unauthorized” && body=“input type=password” && status_code=200
方式二:body=“<input type=“password””

原理:

  • title=“401 Unauthorized”:表明页面需要认证。
  • body=“input type=password”:页面包含密码输入框,说明是登录接口。
  • status_code=200:页面实际返回200(成功),但需要认证,说明接口暴露但未正确配置(如未启用强制HTTPS),可能允许暴力破解或默认口令登录。

漏洞逻辑:

通过定位未正确保护的登录页面,结合常见弱口令(如admin/admin)尝试登录。

5.3 查找文件上传漏洞

方式一:title=“Upload” && body=“form enctype=multipart/form-data method=post”
方式二:body=“<form[>]*?enctype=“multipart/form-data”[>]*?>”

原理:

  • enctype=multipart/form-data:表示表单支持文件上传。
  • title=“Upload”:页面标题包含“上传”关键词,可能为上传功能页。

漏洞逻辑:

文件上传功能若未对文件类型、后缀或内容进行严格校验,攻击者可上传恶意文件(如Webshell)控制服务器。

5.4 查找CMS漏洞

title=“Powered by WordPress” || title=“Powered by Joomla” || title=“Powered by Drupal”

原理:CMS(内容管理系统,如WordPress、Joomla)会在页面标题或源码中标识自身版本。

漏洞逻辑:

已知CMS的特定版本存在公开漏洞(如插件漏洞、核心RCE),攻击者可通过版本匹配快速定位目标。

5.5 查找Web漏洞

title=“404 Not Found” || title=“403 Forbidden” || title=“401 Unauthorized” || title=“500 Internal Server Error” || title=“502 Bad Gateway” || title=“503 Service Unavailable” || title=“SQL Error” || title=“ASP.NET Error”

原理:

  • 5xx错误(如500、503):可能暴露后端代码异常(如未处理的异常信息)。
  • SQL Error:直接显示数据库报错信息,可能存在SQL注入漏洞。

漏洞逻辑:

错误信息可能泄露敏感数据(如数据库结构),或为漏洞利用提供线索(如SQL注入、路径遍历)。

5.6 查找未加密的数据库

title=“phpMyAdmin” || title=“MySQL” || title=“phpPgAdmin” || title=“PostgreSQL” || title=“Microsoft SQL Server” && body=“input type=password”

原理:

  • phpMyAdmin、phpPgAdmin:数据库管理工具的默认页面标题。
  • body=“input type=password”:页面包含密码输入框,表明是登录接口。

漏洞逻辑:
数据库管理界面若暴露在公网且未设置强密码,攻击者可通过爆破或默认凭证登录,直接操作数据库。

5.7 查找存储型XSS漏洞

body=“textarea” && body=“input type=text” && body=“input type=password”

原理:textarea、input标签:常见于用户输入表单(如评论框、注册页)。

漏洞逻辑:
若输入内容未经过滤直接存储并展示,攻击者可注入恶意脚本(如 ),触发存储型XSS。

5.8 查找常见漏洞指纹(特征)

title=“404 Not Found” || title=“403 Forbidden” || title=“401 Unauthorized” || title=“500 Internal Server Error” || title=“502 Bad Gateway” || title=“503 Service Unavailable” || title=“SQL Error” || title=“ASP.NET Error” || title=“404” || title=“Login - Powered by Discuz” || title=“Login - Powered by UCenter” || title=“Powered by DedeCMS” || title=“Powered by PHPWind” || title=“Powered by discuz” || title=“Powered by phpMyAdmin” || title=“Powered by phpwind” || title=“Powered by vBulletin” || title=“Powered by wordpress” || title=“phpMyAdmin” || title=“phpinfo” || title=“Microsoft-IIS” || title=“Joomla” || title=“Drupal” || title=“WordPress” || title=“Apache Tomcat” || title=“GlassFish Server” || title=“nginx” || title=“Oracle HTTP Server”

原理:

  • 特定标题或标识符可精准匹配目标系统(如 Powered by DedeCMS 表示织梦CMS)。
  • 常见指纹识别方式:
    • md5:一些图片、文件的md5等,有些网站是通过开源框架开发的,可能不会修改默认的图标等,这是我们就可以通过爬虫进行爬取并比对md5版本来确认目标站软件的版本等信息
    • 关键字:先访问首页或特定页面如robots.txt等,通过正则的方式去匹配某些关键字,如Powered by Discuz、dedecms等。
      或者可以构造错误页面,根据报错信息来判断使用的CMS或者中间件信息,比较常见的如tomcat的报错页面。

漏洞逻辑:
已知CMS或中间件(如Apache Tomcat)的特定版本存在公开漏洞,攻击者可通过指纹识别快速定位。

5.9 查找远程命令执行漏洞

body=“<form method=“post” enctype=“multipart/form-data” action=”\S*/index.php" name=“form” id=“form”>"

原理:

  • action=“\S*/index.php”:表单提交到动态脚本(如PHP),可能包含未过滤的用户输入。
  • enctype=“multipart/form-data”:支持文件上传,可能触发文件解析漏洞。

漏洞逻辑:
若后端代码对用户输入(如文件名、参数)未做过滤,攻击者可构造恶意请求执行系统命令(如 ; cat /etc/passwd)。

参考文章:
https://blog.csdn.net/2302_82189125/article/details/135935575
https://www.freebuf.com/sectool/268246.html


http://www.kler.cn/a/538152.html

相关文章:

  • 蓝耘智算平台与DeepSeek R1模型:推动深度学习发展
  • Intellij IDEA如何查看当前文件的类
  • Android studio 创建aar包给Unity使用
  • flask实现用户名查重,重复的用户名阻止注册,以及如何优化
  • Delphi语言的云计算
  • 【SQL】count(1)、count() 与 count(列名) 的区别
  • 【生成模型之十四】Visual Autoregressive Modeling
  • 13.3 使用 Chat Prompt Template 设计专业翻译提示模板
  • 4.3 线性回归的改进-岭回归/4.4分类算法-逻辑回归与二分类/ 4.5 模型保存和加载
  • OC-Block
  • 全志A133 android10 thermal温控策略配置调试
  • ML.NET库学习003:基于时间序列的共享单车需求预测项目解析
  • 即时通讯开源项目OpenIM配置离线推送全攻略
  • 练习题 - Django 4.x Session 会话使用示例和配置方法
  • 数据结构:算法复杂度
  • python - 封装moondream(备份)
  • html css网页制作成品——HTML+CSS茶百道的茶网页设计(6页)附源码
  • 数据结构--八大排序算法
  • C06S02-Docker网络和资源限制
  • 3D gpr仿真
  • 使用 SDKMAN! 在 Mac(包括 ARM 架构的 M1/M2 芯片)上安装 Java 8
  • 深度解析DeepSeek模型系列:从轻量级到超大规模(附DeepSeek硬件配置清单)
  • 【C++语法】【STL】“for ( auto c : str )”类型的循环
  • FreeRtos实时系统: 九.FreeRTOS的时间管理
  • 【学Rust写CAD】5 三维转换矩阵解析及应用示例
  • 【ARM】MDK烧录配置文件无权限访问