FOFA模糊搜索的正确姿势

admin 2023年3月14日22:42:18评论51 views字数 2051阅读6分50秒阅读模式

FOFA模糊搜索的正确姿势


正文共:1764 字 10 图
预计阅读时间:4 分钟


▌前言

当初开发模糊搜索功能的初衷是为了解决分词不完整的问题,包括中文字符和英文字符的分词。这些分词问题可能会导致用户在搜索过程中无法搜到结果。例如,在搜索“banner”数据时,一条MySQL的banner数据中包含"ubuntu"关键词,但是由于系统正确的分词是"0ubuntu0",导致大家搜索不到匹配结果。

令人惊喜的是,在此过程中我们发现,模糊搜索功能其实可以适用于更多特定的搜索场景。本文即将向各位FOFA工程师介绍模糊搜索的多样玩法,希望为大家带来一些便捷和启发。

▌使用场景演示

1. 基础使用方法演示

这里我们以域名为例,如host="test.baidu.com"的搜索结果,针对其进行模糊匹配搜索。

host="test.baidu.com"

FOFA模糊搜索的正确姿势






我们需要的是,主域名为baidu.com但子域名包含test关键词的资产,test关键词后缀可能有其他信息,那么FOFA的搜索语句就是:
host*="test*.baidu.com"

FOFA模糊搜索的正确姿势

这时我们继续变更需求,需要主域名为baidu.com但子域名中包含test关键词的资产,test关键词前后可能有其他字符,那么FOFA的搜索语句就是:

host*="*test*.baidu.com"

FOFA模糊搜索的正确姿势

再变更一下目标,需要查询主域为baidu.com但是子域中是test+1个字符的关键词资产,那么FOFA的搜索语句是:
host*="test?.baidu.com"

FOFA模糊搜索的正确姿势

多个字符,就是添加多个?需要多少就添加多少,比如我需要子域字符为5个的,甚至可以是:
host*="?????.baidu.com"

FOFA模糊搜索的正确姿势

也可以多次进行模糊搜索,test.baidu.com直接模糊匹配,以及后面继续接字符的资产。
host*="test*.baidu.com.*"

FOFA模糊搜索的正确姿势

也可以这样搜,我需要所有包含test关键词的域名,不管他在哪个位置,继续变更搜法:
host*="*test*"

FOFA模糊搜索的正确姿势

当然,这样搜的结果就是范围特别广了,这里只是作为解锁更多搜索方式为大家介绍使用,其实也可以用这样的形式对边缘资产进行搜索。
2. 聚焦场景演示

我们通过前文已经了解到,他可以解决分词的问题,也了解到了模糊搜索的使用方法。那我们聚焦一个小场景,为大家展示模糊搜索的使用。

我们以mysql作为例子:mysql有多个版本存在,先在FOFA上进行搜索:

banner="mysql version"

FOFA模糊搜索的正确姿势

可以看到近一年有1000多万的数据,这里是搜索了所有的版本的,现在可以使用模糊搜索对于版本进行一个范围区分。

我们需要5.?.*的所有版本,就可以这样进行搜索:

banner="mysql version" && banner*="5.?.*"

FOFA模糊搜索的正确姿势

继续缩小范围,我们仅需要版本为5.5.4+类型的数据,那可以这样进行搜索:

banner="mysql version" && banner*="5.5.4*"

FOFA模糊搜索的正确姿势


通过搜索结果展示,我们成功聚焦到了Mysql Version:5.5.4*的各种版本,可以继续对目标进行聚焦,方法是一样的。


3. 更多玩法

SNMP协议有多个版本,我想一次性找全,使用模糊搜索的语法为:

protocol*="snmp*"

FOFA模糊搜索的正确姿势


突然忘记云服务商Cloudflare的名字,使用模糊搜索,快速找到自己需要的目标:

cloud_name*="Cloud*"

FOFA模糊搜索的正确姿势

对于已知的搜索结果,模糊搜索端口是四位数的资产。

domain="fofa.info" && port*="????"

FOFA模糊搜索的正确姿势

▌模糊搜索是什么?


模糊搜索是一种搜索技巧,用于在数据集中查找与查询词或关键字相似的结果。

模糊搜索可以帮助FOFA工程师更好地匹配和搜索关键词,使得搜索结果更加全面、准确。与精确搜索相比,模糊搜索更加灵活,可以处理各种不规则的输入,例如拼写错误、变体、缩写和语言差异等。

在FOFA平台中,使用通配符匹配功能就可以实现模糊搜索的效果。例如,在搜索时,可以在关键词中使用通配符“*”和“?”来匹配不同的字符和字符串,以进行模糊搜索。相信大家在前面的演示中已经大概明白了模糊搜索的使用方法,这里再对用法进行一个说明:

在FOFA上,模糊搜索是通过在*=后面添加通配符 * 或 ? 来实现的,但 *= 并不是通配符,仅仅是用来表示使用模糊搜索功能的符号。同时,通配符*和?代表着不同的意思:

*表示匹配的数量不受限制,可以用来代替 0 个、1 个或多个字符;

? 仅仅可替代 1 个字符。


▌总结


FOFA的模糊搜索功能为大家提供了更多的搜索灵活性和准确性,让大家可以通过通配符的使用更加开放性地搜索到目标资产和漏洞。本文简单介绍了FOFA的模糊搜索功能,以及通过通配符进行模糊搜索的基本用法。

FOFA的模糊搜索功能仍然有很多未被探索的搜索方式等待开发。FOFA工程师们可以根据不同的需求和场景,不断尝试创新,开发出更加高效、精准的搜索方式。

个人版及以上的订阅会员或F点单功能消费就可以使用该功能哦,期待大家的脑洞!

▌End


原文始发于微信公众号(哈拉少安全小队):FOFA模糊搜索的正确姿势

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月14日22:42:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   FOFA模糊搜索的正确姿势http://cn-sec.com/archives/1605453.html

发表评论

匿名网友 填写信息