day2

1. DNS解析步骤

  1. 用户请求域名解析
    当用户在浏览器中输入一个网址(例如www.baidu.cm),浏览器需要将这个域名转换为对应的IP地址才能与服务器通信。
    浏览器首先检查本地缓存中是否存有该域名的解析记录。如果有,则直接使用缓存的IP地址。
  2. 操作系统缓存查询
    如果浏览器缓存中没有找到对应的IP地址,操作系统会检查自己的DNS缓存中是否有该域名的解析记录。
    如果操作系统缓存中有该记录,则直接返回该IP地址。
  3. 主机文件 (hosts) 查询
    如果操作系统缓存中没有对应记录,系统会查阅本地的 hosts 文件。该文件中可能包含一些静态的域名-IP映射。如果找到匹配项,则直接返回对应的IP地址。
  4. 查询本地DNS服务器
    如果hosts文件中没有记录,操作系统会向配置的本地DNS服务器发送查询请求。本地DNS服务器通常由ISP或网络管理员配置。
    本地DNS服务器可能有自己的缓存,如果缓存中有该域名的解析结果,会直接返回IP地址。
  5. 递归查询
    如果本地DNS服务器没有该域名的缓存记录,它会进行递归查询。递归查询过程如下:
    根域名服务器 (Root DNS Server)
    本地DNS服务器首先向根DNS服务器请求。根服务器不会直接提供域名的IP地址,而是告诉本地DNS服务器,应该查询哪个顶级域名服务器(如.com、.net)。
    顶级域名服务器 (TLD DNS Server)
    本地DNS服务器根据根服务器的回应,向对应的顶级域名服务器发送请求。顶级域名服务器不会提供最终的IP地址,而是返回负责该域名的权威DNS服务器地址。
    权威DNS服务器 (Authoritative DNS Server)
    本地DNS服务器向权威DNS服务器发送请求,权威DNS服务器存有该域名的最终解析记录,并返回域名对应的IP地址给本地DNS服务器。
  6. 返回IP地址
    本地DNS服务器将获得的IP地址返回给用户的设备,并将该记录缓存起来,以便处理未来的同样查询。
  7. 与服务器建立连接
    用户的设备收到IP地址后,浏览器使用该IP地址与目标服务器建立连接(通常是通过TCP或UDP协议),从而完成DNS解析过程。
  8. 显示网页
    浏览器与服务器建立连接后,发送HTTP或HTTPS请求,获取网页内容并呈现给用户。

2. 绕过CDN查找主机真实IP的方法。

首先可以在多个地点ping[cqupt.edu.cn]服务器-网站测速-站长工具 (chinaz.com)上进行域名解析,查看能否解析出多个IP,如果解析出多个IP说明使用了CDN。或者可以使用超级ping进行解析(www.baidu.com的ping检测_网站测速工具_多地点ping检测 - 爱站网 (aizhan.com))很多工具都可以。

如果使用了CDN,现在换另外一个域名进行测试。这里选择有多个IP的video.baidu.com,这里可以看见存在5个IP

  1. 通过www.baidu.com上的同IP网站,www.baidu.com同IP站点域名,www.baidu.com反查域名 - WebScan可以发现ip为180.76.168.131

3. 子域名收集常用手段

3.1.1.1. 在线工具和服务网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统

3.1.1.2. 搜索引擎抓取

如:site:cqupt.edu.cn

3.1.1.3. 本地工具:

如:OneForAll (shmilylty/OneForAll: OneForAll是一款功能强大的子域收集工具 (github.com))

下面是扫描结果

4. Nmap全端口扫描

4.1. 全端口扫描命令:nmap -p- [目标IP或域名]

4.2. SYN半开扫描的原理

SYN 半开扫描(也称为 TCP SYN 扫描Stealth 扫描)是 nmap 中最常用的一种端口扫描技术。它利用了 TCP 三次握手过程中的初始步骤,进行快速且隐蔽的端口扫描。具体原理如下:

  1. 发送 SYN 包
    • 扫描者向目标主机的某个端口发送一个 TCP SYN(同步)包,这是三次握手的第一步,用于请求建立连接。
  1. 接收响应
    • 如果目标端口是 开放的
      • 目标主机会返回一个 TCP SYN-ACK(同步-确认)包,表示愿意建立连接。
    • 如果目标端口是 关闭的
      • 目标主机会返回一个 TCP RST(重置)包,表示拒绝连接。
  1. 扫描者终止连接
    • 如果收到 SYN-ACK 响应,扫描者会发送一个 RST 包来终止连接。由于并未完成整个三次握手,连接不会被完全建立,这就是“半开”扫描的由来。
4.2.1. 优点:
  • 隐蔽性:由于连接未完全建立,SYN 半开扫描较难被目标主机检测到,可以绕过一些防火墙和入侵检测系统(IDS)。
  • 快速:相比于完全建立连接的扫描(如 TCP 连接扫描),SYN 半开扫描速度更快。
4.2.2. 使用命令:

SYN 半开扫描的命令是:nmap -sS [目标IP或域名]

4.3. 跳过主机存活检测扫描

在默认情况下,nmap 会先执行主机存活检测(Ping 探测),以确定目标主机是否在线。这个步骤通常包括 ICMP Echo 请求(Ping)、TCP SYN 到常见端口、和 TCP ACK 等探测方法。

4.3.1. 原理:

跳过主机存活检测(使用 -Pn 选项),意味着 nmap 会假设目标主机是在线的,并直接对其执行端口扫描,而不进行任何预扫描的 Ping 探测。

4.3.2. 使用场景:
  • 防火墙阻止 Ping:某些主机或网络配置会阻止 ICMP Echo 请求或常见端口的探测。如果不跳过存活检测,nmap 可能会错误地认为目标主机是离线的,从而跳过进一步扫描。
  • 提高隐蔽性:在进行隐蔽扫描时,跳过存活检测可以减少暴露给目标网络的扫描流量,从而降低被检测到的风险。
  • 节省时间:对于大量主机的扫描,跳过存活检测可以直接进入端口扫描阶段,节省时间。
4.3.3. 使用命令:

跳过主机存活检测的命令是:nmap -Pn [目标IP或域名]

4.4. 结合使用的例子:

假设你想对一个可能启用了防火墙的目标主机进行 SYN 半开扫描,并且跳过主机存活检测,可以使用以下命令:

nmap -sS -Pn [目标IP或域名]

这将使 nmap 假设目标主机在线,并直接开始对所有端口执行 SYN 半开扫描。

5. dirmap目录探测工具实践

5.1. 扫描目录

进入dirmap目录下执行命令:python3 dirmap.py -i 127.0.0.1 -lcf

5.2. 分析
  1. 目标服务器的状态和响应
    动态内容:某些网站可能会根据时间、用户状态(如登录状态)、请求来源等动态生成内容。因此,扫描同一个网站的不同时间点,可能会返回不同的结果。
    服务器负载:服务器的负载或网络状况会影响请求的处理速度或返回的响应。在服务器负载较高时,可能会出现部分请求超时或被服务器丢弃,导致扫描结果不一致。
  2. 网络波动
    网络连接的不稳定性可能会导致某些请求在一次扫描中未能成功到达目标服务器,导致这些请求未被记录到最终的扫描结果中。
  3. CDN 和缓存
    如果目标站点使用了内容分发网络(CDN)或缓存机制,不同的扫描可能会命中不同的缓存节点,或者有些请求被缓存,而有些请求直接被服务器处理,导致结果不一致。
    缓存可能会使某些路径在一次扫描中返回404或其他状态码,而在另一次扫描中返回200。
  4. 工具配置和参数
    字典文件:dirmap 使用的字典文件中包含可能的路径和文件名称。如果每次使用的字典不同或字典文件有所更新,扫描结果自然会有所不同。
    并发量设置:dirmap 支持多线程扫描。如果每次扫描的并发线程数不同,或由于系统资源的限制,某些请求可能会被丢弃或处理延迟,导致结果不一致。
    请求超时:如果设置了请求超时,并且目标服务器响应缓慢,某些请求可能在不同扫描中超时或被放弃,导致结果差异。
  5. 机器人防护和WAF
    机器人防护:目标站点可能部署了机器人防护系统(如 CAPTCHA 或 IP 封禁),导致部分请求被识别为恶意请求而被阻止。这可能会导致每次扫描的结果不一致。
    Web应用防火墙(WAF):WAF 可能会识别并阻止一些扫描请求,这可能会导致扫描结果的不完整和不一致。
  6. 目标服务器日志清理
    如果目标服务器上启用了日志清理机制,某些扫描路径可能在不同时间点被标记为无效或被清理,从而影响后续扫描的结果。
  7. 工具更新
    工具的更新或版本不同也可能影响扫描结果。新版本可能引入了新的功能或修复了旧版本的错误,导致扫描结果的变化。
  8. 随机性
    某些工具会引入一定的随机性来避免被目标服务器检测到为自动化扫描。这个随机性可能体现在请求的顺序、时间间隔等方面,从而导致扫描结果的变化。
5.3. dirmap高级应用

这个配置挺好的,感觉满足了,不需要更改。

配置文件文档dirmap.conf

太大了,放这里太占空间了,地址在这里:https://github.com/H4ckForJob/dirmap

6. fscan实践

6.1.1. 扫描本机的pikachu环境:

./fscan -h 127.0.0.1

其中我的mysql账号密码没有修改,发现了漏洞。

7. 插件安装

在火狐上安装的Findsomething 和 Wappalyzer

8. 补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值