DNS解析详细步骤
当我键入www.baidu.com的时候,我的电脑都替我做了哪些工作?
1. DNS 解析:
- 浏览器首先检查本地缓存中是否有 `www.baidu.com` 的 IP 地址。
-如果本地缓存中没有,它会向配置的 DNS 服务器发送请求,询问 `www.baidu.com` 对应的 IP 地址。
- DNS 服务器将返回与 `www.baidu.com` 关联的 IP 地址。
2. 建立 TCP 连接:
- 浏览器获取到 IP 地址后,会与该 IP 地址的服务器建立一个 TCP 连接。通常,这个连接通过端口 80(HTTP)或 443(HTTPS)进行。
3. 发送 HTTP/HTTPS 请求:
- TCP 连接建立后,浏览器会发送一个 HTTP 或 HTTPS 请求到服务器,通常是一个 GET 请求,要求访问 `/`(主页)。
4. 服务器响应:
- 服务器接收到请求后,会处理请求并返回相应的资源,例如 HTML 文件、CSS 样式表、JavaScript 文件、图像等。
- 这些资源会被打包在 HTTP/HTTPS 响应中,返回给浏览器。
5. 渲染页面:
- 浏览器接收到服务器的响应后,会解析 HTML 内容,生成 DOM 树,同时解析并应用 CSS 样式表生成渲染树,并执行 JavaScript。
- 浏览器根据解析和渲染的结果将页面展示在窗口中。
6. 后续资源请求:
- 如果初始 HTML 文件中引用了其他外部资源(例如图像、样式表、脚本文件等),浏览器会继续发送请求获取这些资源,直到页面完全加载完毕。
绕过CDN查找主机真实IP的方法
使用网络空间搜索:可以使用Quake、Hunter、zoomeye、fofa等搜索引擎,通过IP地址来查找相关信息。
DNS历史解析记录:查询域名的历史解析记录,可能会找到网站使用CDN前的解析记录,从而获取真实ip
查子域名:很多时候,一些重要且访问量很大的站点会做CDN,而一些子域名站点并没有加入CDN,但是这些子域名站点跟主站在同一个C段内甚至和主站是同一个IP,这时候,就可以通过查找子域名来查找网站的真实IP。
利用SSL证书寻找真实IP:证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共日志中,SSL/TLS证书通常包含域名、子域名和电子邮件地址。因此SSL/TLS证书成为了攻击者的切入点。
子域名信息收集常用手段
DNS历史记录查询
DNS历史记录查询是一种用于收集子域名信息的方法,通过查询过去DNS解析记录的服务,可以查找目标组织过去使用过的子域名,有时还可以找到已经被删除的但仍然解析到目标组织的子域名。以下是DNS历史记录查询子域名信息的详细步骤:
1.确定目标域名:确定要查询的目标域名,例如example.com。
2.选择DNS历史记录查询服务:选择一个可靠的DNS历史记录查询服务,例如SecurityTrails、DNSdumpster.com - dns recon and research, find and lookup dns records、WhoisXML、PassiveTotal等。这些服务通常提供免费和付费版本,免费版本可能有限制。
3.输入目标域名:在DNS历史记录查询服务的搜索框中输入目标域名,例如example.com。
4.查看历史记录:查询服务将返回与目标域名相关的历史记录。这些历史记录可能包括过去使用过的子域名、IP地址、DNS服务器等信息。查看历史记录,尝试找到与目标组织相关的子域名。
子域名爆破
使用子域名爆破工具如Sublist3r、Amass、Subfinder、Assetfinder等,枚举目标组织的子域名。这些工具使用字典或其他方法生成可能的子域名列表,然后对列表中的每个子域名进行DNS解析来确定是否存在。
子域名收集工具
1.子域名挖掘机layer
2.OneForAll一款功能强大的子域收集工具
https://github.com/shmilylty/OneForAll
3.Subdomainsbrute-高并发的DNS暴力枚举工具
https://github.com/lijiejie/subDomainsBrute
4.Sublist3r
https://github.com/aboul3la/Sublist3r
Nmap全端口扫描(使用昨日搭建的pikachu靶场)
用nmap扫描IP网段,发现三个设备
扫描pikachu
SYN半开扫描的原理
SYN包是TCP连接过程中的一个包,在三次握手中的第一步。当服务器收到SYN包时,它会回应一个SYN-ACK包,表示它已经收到了连接请求,并准备好接收更多的数据。在半开扫描中,扫描器不会回应最后的ACK包,也不会完成连接的建立。服务器由于没有收到最后的ACK,会继续等待原始的SYN发起者的响应,从而可以在其日志中记录下这个半开的连接,这可以作为端口开放的证据。
跳过主机存活检测扫描
通常Nmap在进行高强度的扫描时是用它确定正在运行的机器。 默认情况下,Nmap只对正在运行的主机(也就是存活的主机)进行高强度的探测如 端口扫描,版本探测,或者操作系统探测。-P0的第二个字符是数字0而不是字母O。 跳过正常的主机发现继续执行所要求的功能,就好像每个IP都是活动的,也就是每个IP都是存活的。
所以可以使用-P0禁用ping的探测,从而跳过主机发现即存活的检测。
dirmap目录探测工具实践(使用昨日搭建的pikachu靶场)
为什么dirmap每次扫描条数不一样
Dirmap具有一些高级特性,如能够爬取页面并动态生成字典。这意味着在扫描过程中,它会根据目标网站的实际情况动态调整请求,从而可能导致扫描条数的变化。