7、信息收集(2)

文章目录

  • 一、目录扫描
    • 1.1 目录扫描的原因
    • 1.2 目录扫描方法
  • 二、指纹识别
    • 2.1 系统指纹识别
    • 2.2 中间件指纹识别
    • 2.3 web程序指纹识别
    • 2.4 防火墙指纹识别
    • 2.5 其他工具使用
  • 三、Google Hacking
    • 3.1 逻辑运算符
    • 3.2 基本语法
    • 3.3 相关案例

一、目录扫描

1.1 目录扫描的原因

  • 寻找网站后台管理
  • 寻找未授权界面
  • 寻找网站更多隐藏信息

1.2 目录扫描方法

  • robots.txt
    Robots协议”网络爬虫排除协议“,网站通过Robots协议告诉搜索引擎哪些界面可以抓取,哪些页面不能抓取。同时也记录网站所具有的基本目录。
  • 搜索引擎
    搜索引擎会爬取网站下目录,并且不会触碰网站任何防御设备。语法:site:sangfor.com.cn
  • 爆破
    爆破通过字典匹配网站是否返回相应正确状态码,然后列出存在的目录。爆破可能会出发网站防火墙拦截规则,造成IP封禁。
    爆破工具:dirb、dirbuster、御剑。

二、指纹识别

2.1 系统指纹识别

方法一:通过TCP/IP数据包发到目标主机,由于每个操作系统类型对于处理TCP/IP数据包都不相同,所以可以通过之间的差别判断操作系统类型。识别方法:nmap -sS -Pn -O <ip地址>

-sS:进行TCP SYN扫描。
-Pn:不进行Ping扫描。
-O:操作系统侦测。
nmap识别操作系统指纹必须使用端口,所以不允许添加-sn参数(不进行Ping扫描)。

方法二:端口服务识别,命令:nmap -sS -sV <ip地址>
每个操作系统都有特有的服务和端口,如:

  • windows桌面连接使用3389 RDP协议;
  • 445端口 windows的smb开启端口;
  • iis 80端口。

2.2 中间件指纹识别

(1)通过http返回消息提取server字段
在这里插入图片描述

(2)通过端口服探测中间件
常用端口:Tomcat、Jboss 8080,weblogic 7001

(3)通过构造错误界面返回信息查看中间件
主要构造不存在的路径和畸形数据。
在这里插入图片描述

2.3 web程序指纹识别

(1)开发语言

  • 后缀名识别:.asp、.php、.jsp。如果无法通过后缀名识别,可以通过抓包查看与后台交互点,如登录、查询。
  • http返回请求头 x-Powered-By
  • cookie:PHPSESSIONID ->php,JSPSESSIONID ->jsp,ASPSESSIONIDAASTCACQ ->asp。

(2)开发框架

  • php的thinkphp框架识别方法特定ico图标
  • Action后缀 90%为struts2或者webwork
  • do后缀 50%为spring mvc
  • url后缀 /action/xxx 70%struts2
  • Vm后缀 90%VelocityViewServlet
  • JSF后缀 99% java Server Faces

(3)第三组件
一般包括流量统计、文件编辑器、模板引擎,识别方法:一般目录扫描,识别工具:

  • FCKeditor
  • CKEditor

(4)CMS程序

  • 特定文件夹:dede/admin/admin_Login.aspx
  • Powered by ****
  • 网站favicon图标

(5)数据库

  • 常规判断

    asp对应sql server,php对应mysql,,jsp对应oracle。

  • 网站错误信息
  • 端口服务

    1433对应sql sqever,3306对应mysql,1512对应oracle。

在线探测工具:Wappalyzer、云悉

2.4 防火墙指纹识别

识别方法:nmap -p 80 --script http-waf-fingerprint <ip地址>
在这里插入图片描述

2.5 其他工具使用

1、Nmap工具

命令一:nmap -sS -sV <ip>,使用TCP SYN的方式,扫描目标主机上常规端口运行的服务版本。

-sS:指定使用TCP SYN的方式对目标主机进行扫描;
-sV:扫描默认1000个端口的服务情况和端口开放情况。

在这里插入图片描述

命令二:nmap -p 80 --script http-waf-fingerprint <ip>,对80端口进行waf探测。

在这里插入图片描述

实验环境中未部署waf,所以无waf相关信息显示,下图为实际环境中测试,探测到waf设备的信息

2、Wafw00f工具
(1)下载该工具

wafw00f
命令三:Wafw00f http://192.168.0.85 (IP地址需根据目标靶机实际情况,进行修改,或者输入目标域名)
在这里插入图片描述

实验环境中未部署waf,所以无waf相关信息显示,下图为实际环境中测试,探测到waf设备的信息
在这里插入图片描述

3、使用Maltego进行情报收集

  1. kali中自带maltego社区版,直接在命令行中启动;
    在这里插入图片描述

  2. 安装CaseFile EntitiesFarsight DNSDB插件。

    配置Transform Hub,因为使用社区版,我们仅选择Free字样的模块,将鼠标移动到模块上,会自动出现install,点击后将开始自行安装。
    Farsight DNSDB插件主要用于DNS相关信息查询(软件自带的dns查询可能失效,可用该插件实现dns信息查询)。

    在这里插入图片描述
    在这里插入图片描述

  3. 收集目标信息。本次我们的目标是一个域名,所以按下图中的步骤选择footprint L3
    在这里插入图片描述
    在这里插入图片描述
    工具会新建一个画板,在正中会出现我们设定目标域名为根节点,右下角显示查询进度,随着进度条,会实时将收集到的信息同根节点进行关联,拓扑会自动生长。
    在这里插入图片描述
    为了增加信息收集的效率,可以在图标上点击鼠标右键,选择对应查询的类别,比如查询DNS信息,使用【DNSDB】插件。第一次使用DNSDB插件时,会弹出一个对话框,勾选“接受”,然后点击“run”即可。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    该工具在查询过程中,会因使用的插件不同,可能会找到同根节点相关的域名信息,可能不属于根节点真正的域名信息,maltego会给出选项目,让使用者进行选择。
    在这里插入图片描述
    探测完成后,会看到以下拓扑结构的画图,相互的层级关系一目了然。

    在这里插入图片描述

三、Google Hacking

3.1 逻辑运算符

+ :强制搜索其后的一个单词
- :把某字忽略
~ :同义词
.:通配符,可代表多个字母
”“:精确查询
| 或者OR:只要符合多个关键词中的任意一个,结果就予以显示

3.2 基本语法

  • intext:key,搜索网页中带有关键字的页面。
  • Allintext:key,功能与intext类似,但是可以接多个关键字。
  • intitle:key,搜索网页标题中是否有需要的文字。
  • Allintitle:key,功能与intext类型,可以接多个关键字。
  • cache:url,查看指定URL快照。
  • filetype:xxx,搜索指定类型文件。
  • info:xxx,搜索输入URL的摘要信息和其他相关信息,不能与其他关键字混用。
  • inurl:xxx,搜索输入字符是否存在URL中,可以与site结合找后台。
  • site:xxx,搜索指定网站或者子域名。
  • related:URL,搜索与该URL相关的页面。

3.3 相关案例

(1)site:特定网站搜索,可以寻找子域名、域名、端口
在这里插入图片描述
(2)site:URL,filetype:html 搜索与该域名相关的html文件
在这里插入图片描述
(3)site:URL intitle:登录,搜索与该域名有关的且网页标题中含有登录这一关键词的网页
在这里插入图片描述
(4)site:URL inurl:/login 搜索与该域名有关的且URL中有/login的网页
在这里插入图片描述
(5)site:x.x.x.* C段快速探测
在这里插入图片描述

goolge语法收集网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/201146.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker中mysql的数据迁移

在Docker中进行MySQL数据迁移通常涉及将数据从一个MySQL容器导出&#xff0c;并将其导入到另一个容器或主机上的MySQL实例中。以下是一般步骤&#xff1a; 步骤 1: 在源 MySQL 容器中导出数据 进入源 MySQL 容器&#xff1a; docker exec -it <source_mysql_container_name…

翻译: 大语言模型LLMs能做什么和不能做什么 保存笔记What LLMs can and cannot do

生成式 AI 是一项惊人的技术&#xff0c;但它并非万能。在这个视频中&#xff0c;我们将仔细看看大型语言模型&#xff08;LLM&#xff09;能做什么&#xff0c;不能做什么。我们将从我发现的一个有用的心理模型开始&#xff0c;了解它能做什么&#xff0c;然后一起看看 LLM 的…

怎么验证公钥和私钥是一对

文章目录 前言ssh-keygen 和 openssl两种证书的内容对比 从私钥提取公钥OPENSSH和PEM两种密钥格式相互转化OpenSSH 格式私钥转换成 OpenSSL PEM 格式私钥OpenSSL PEM 格式私钥转换成 OpenSSH 格式私钥OpenSSH 格式公钥生成 OpenSSL PEM 格式公钥OpenSSL PEM 格式公钥生成 OpenS…

【Azure 架构师学习笔记】- Azure Databricks (2) -集群

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (1) - 环境搭建 前言 在上文中提到了ADB 的其中一个核心就是集群&#xff0c;所以这里专门研究一下ADB 的集群。 ADB 集群 首先了解一下ADB…

《SpringBoot项目实战》第六篇—接口防抖(防重复提交)的一些方式

系列文章导航 第一篇—接口参数的一些弯弯绕绕 第二篇—接口用户上下文的设计与实现 第三篇—留下用户调用接口的痕迹 第四篇—接口的权限控制 第五篇—接口发生异常如何统一处理 第六篇—接口防抖(防重复提交)的一些方式 本文参考项目源码地址&#xff1a;summo-springboot-i…

SpringBoot基础知识

SpringBoot简介 回顾什么是Spring Spring是一个开源框架&#xff0c;2003 年兴起的一个轻量级的Java 开发框架&#xff0c;作者&#xff1a;Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的&#xff0c;简化开发。 Spring是如何简化Java开发的 为了降低Ja…

记录:Unity脚本的编写9.0

目录 射线一些准备工作编写代码 突然发现好像没有写过关于射线的内容&#xff0c;我就说怎么总感觉好像少了什么东西&#xff08;心虚 那就在这里写一下关于射线的内容吧&#xff0c;将在这里实现射线检测鼠标点击的功能 射线 射线是一种在Unity中检测碰撞器或触发器的方法&am…

22、pytest多个参数化的组合

官方实例 # content of test_multi_parametrie.py import pytestpytest.mark.parametrize("x",[0,1]) pytest.mark.parametrize("y",[2,3]) def test_foo(x,y):print("{}-{}".format(x,y))pass解读与实操 要获得多个参数化参数的所有组合&…

什么是HTTP/2?它与HTTP/1.x相比有什么改进?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

《论文阅读》使用条件变分自动编码器学习神经对话模型的语篇水平多样性 2017 ACL

《论文阅读》使用条件变分自动编码器学习神经对话模型的语篇水平多样性 2017 ACL 前言简介相关知识Stochastic Gradient Variational BayesMultivariate Gaussian DistributionIsotropic Gaussian DistributionReparameterization Trickprior network & posterior network …

简述Blender

前言 Blender是一款免费开源的3D计算机图形软件&#xff0c;功能强大&#xff0c;包括建模、动画、渲染、视频剪辑等多个方面。下面我分别为你介绍Blender的基础、提升、优势和应用领域。 介绍 Blender是由Blender基金会开发的开源项目&#xff0c;最初设计为一个内部工具&a…

C++ 函数详解

目录 函数概述 函数的分类 函数的参数 函数的调用 函数的嵌套调用 函数的链式访问 函数声明和定义 函数递归 函数概述 函数——具有某种功能的代码块。 一个程序中我们经常会用到某种功能&#xff0c;如两数相加&#xff0c;如果每次都在需要用到时实现&#xff0c;那…

第4章 互联网

文章目录 4.1 计算机网络基础 94 4.1.1 计算机网络的基本概念 94 4.1.2 局域网的基本原理 96 4.1.3 局域网协议与应用 98 4.2 Internet 100 4.2.1 TCP/IP 101 4.2.2 TCP/IP应用 106 4.2.3 网络操作系统的功能 112 4.2.4 网络安全的概念 116 4.3 计算机软件编程基础 …

唯创知音WTR096A-16S语音芯片:引领喊话器声音还原新时代

随着科技的不断发展&#xff0c;声音在各种场景中扮演着至关重要的角色。在喊话器领域&#xff0c;唯创知音的WTR096A-16S语音芯片以其卓越的性能和声音还原度的提高&#xff0c;为喊话器应用带来了全新的体验。 1. 声音还原度的升级 WTR096A-16S语音芯片采用16位数模转换器&…

机器学习---线性回归算法

1、什么是回归&#xff1f; 从大量的函数结果和自变量反推回函数表达式的过程就是回归。线性回归是利用数理统计中回归分析来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 2、一元线性回归 3、多元线性回归 如果回归分析中包括两个或两个以上的自变量&a…

VIM光标移动和翻页快捷键-包含vim帮助文档截图

光标移动到行首(行首没有空格)&#xff1a; ^ 光标移动到行首(行首有空格)&#xff1a; 数字0 光标移动到行尾&#xff1a; $ 移动到指定行&#xff1a;7G(数字加一个大G&#xff09; 光标移动到文件开始&#xff1a;gg(两个小g) 光标移动到文件末尾&#xff1a;G(一个大G&…

二叉树的实现(纯C语言版)

目录 1.实现的接口1.1通过前序遍历的数组"ABD##E#H##CF##G##"构建二叉树 1.2 二叉树销毁1.3二叉树节点个数1.4二叉树第k层节点个数1.5 二叉树查找值为x的节点1.6二叉树前序遍历1.7二叉树中序遍历1.8二叉树后序遍历1.9层序遍历1.10判断二叉树是否是完全二叉树1.11 二叉…

AI:大语言模型训练方法 - 机器学习

Transformer Transformer是一种深度学习的模型架构&#xff0c;特别适用于自然语言处理任务。Transformer 模型的核心创新在于其 "自注意力"&#xff08;Self-Attention&#xff09;机制&#xff0c;这种机制使得模型可以有效地捕捉输入数据中的长距离依赖关系。 T…

【python】pip install 国内源

背景 python很多库都需要用国内镜像才能比较快&#xff0c;常用的有临时换源或长久换源。 临时换源 pip install [库] -i [源]国内源常用的有以下几种。 阿里云 http://mirrors.aliyun.com/pypi/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 清华大学 https://pyp…

数据结构 | 查漏补缺之DFS、BFS、二次探测再散列法、完全二叉树、深度计算

目录 DFS&BFS 哈希表-二次探测再散列法 完全二叉树&深度计算 排序 快速排序-挖坑法 插入、选择、冒泡、区别 DFS&BFS 哈希表-二次探测再散列法 完全二叉树&深度计算 排序 快速排序-挖坑法 插入、选择、冒泡、区别 插入从第一个元素开始&#xff0c…