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

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

免责声明:本文仅用于分享渗透测试工具,大家使用时,一定需要遵守相关法律法规。

除了fofa,还有很多其他热门的,比如:shodan、奇安信的鹰图、钟馗之眼等,这里就不一一介绍了,感兴趣的同学可以下来自行了解。想要了解shodan使用的可以看下面这篇文章:

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

相关推荐
BingoGo1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php
JaguarJack1 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php·服务端
JaguarJack2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
后端·php·服务端
BingoGo2 天前
推荐 PHP 属性(Attributes) 简洁读取 API 扩展包
php
JaguarJack3 天前
告别 Laravel 缓慢的 Blade!Livewire Blaze 来了,为你的 Laravel 性能提速
后端·php·laravel
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
feifeigo1234 天前
matlab画图工具
开发语言·matlab
dustcell.4 天前
haproxy七层代理
java·开发语言·前端
norlan_jame4 天前
C-PHY与D-PHY差异
c语言·开发语言
多恩Stone4 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc