SEC-2022版-0002-域名/DNS/数据包
基础
网站搭建前置知识
域名,子域名,DNS
概念
域名:形如www.xiaodi8.com,www是二级域名,xiaodi8.com是一级域名。
域名解析限制:国内域名必须备案,大陆外服务器不用备案也能访问,按量付费解决访问的月费过贵问题。
访问限制:服务器的安全组配置
域名注册
国内域名注册商:阿里云万网。
域名对安全的意义
- 增加渗透人员对网站的攻击面,提高了攻击的成功率
- 增加暴力猜测难度
本地hosts文件-DNS
DNS是将域名解析为 IP 地址的分布式数据库系统。
Windows本地host文件存放地址:“C:\Windows\System32\drivers\etc\hosts”
# 打开文件后显示如下映射关系 |
域名解析
通过主机名称获取IP地址的过程
浏览器搜索域名的过程
递归服务器获取记录存入本地
递归服务器:指能够向其他 DNS 服务器发出查询请求,并返回查询结果的服务器。
它通常用于响应用户设备或其他服务器发出的 DNS 查询请求,以帮助解析域名并将其转换为相应的 IP 地址。
递归服务器拿到解析DNS资源解析记录并存入本地,下次需要时直接取出记录。
DNS资源记录类型如下
A记录: 将域名指向一个IPv4地址(例如:100.100.100.100),需要增加A记录 |
DNS正向与反向解析
正向解析 (常用):向下解析,将 域名解析为 IP 地址 的过程。这是 DNS 最常用的解析方式。通过向 DNS 服务器发出正向查询请求,可以获取该域名所对应的 IP 地址。
反向解析 :向上解析,是将 IP 地址解析为域名 的过程。这种解析方式通常用于安全或反垃圾邮件目的。通过向 DNS 服务器发出反向查询请求,可以获取该 IP 地址所对应的域名。
本地host文件与DNS的关系
- 本地 host 文件和 DNS 服务器都可以将域名解析为 IP 地址,但它们的作用范围不同。
- 本地host文件地址:C:\Windows\System32\drivers\etc
- host文件可以重定向域名解析的IP地址 (安全风险)
- ping:优先查看并且使用本地host文件当中对应域名映射的IP地址,而不是向DNS服务器发起查询获取IP地址。 (安全风险)
- 应用:
- 网站钓鱼攻击:伪造虚假网站,获取登录的各种凭证。 –> 可以通过修改本地host文件来定向到恶意网站。
- 游戏加速:修改IP地址实现最近的高速节点下载。
本地 host 文件只对本地计算机有效,而 DNS 解析是在互联网上进行的,可以为全球范围内的用户提供域名解析服务。
在某些情况下,用户可能需要将某些域名映射到本地的 IP 地址上,以便于 测试或访问内部网络资源 ,这时候可以通过编辑本地 host 文件来实现。
HTTP/HTTPS,证书等
HTTP不安全,HTTPS相对安全。
CDN
CDN(Content Delivery Network)是一种分布式网络架构,可以将静态资源(如图片、视频、音频等)缓存在离用户最近的节点,以提高资源的访问速度和稳定性。
简单来说,就是存点东西在离你近的服务器,方便你访问。但它携带的是主机的缓存,而不携带主机的IP地址。
CDN主要看地区,与DNS的切换无关。
WEB应用环境架构类
理解不同WEB应用组成角色功能架构:
开发语言,程序源码,中间件容器,数据库类型,服务器操作系统,第三方软件等
开发语言:asp,php,aspx,jsp,java,python,ruby,go,html,javascript等
程序源码:根据开发语言分类;应用类型分类;开源CMS分类(CMS:内容管理系统);开发框架(功能写好,直接调用即可)分类等 (漏洞源)
中间件容器:IIS,Apache,Nginx,Tomcat,Weblogic,Jboos,glasshfish等 -支撑网站运行,各有各的好处
数据库类型:Access,Mysql,Mssql,Oracle,db2,Sybase,Redis,MongoDB等 - 网站用户数据存放等,比如存储VIP用户信息
服务器操作系统:Windows系列,Linux系列,Mac系列等
第三方软件:phpmyadmin,vs-ftpd,VNC,ELK,Openssh等
WEB应用安全漏洞分类
漏洞源
漏洞源头在源码上:
SQL注入,文件安全,RCE执行,XSS跨站,CSRF/SSRF/CRLF,反序列化,逻辑越权,未授权访问,XXE/XML,弱口令安全等
明白漏洞产生的基本层面
本地host文件安全漏洞
本质:修改本地host文件解析记录
DNS欺骗:攻击者可以在本地host文件中添加假的域名解析记录,使用户访问一个假的网站,而不是正确的网站。
会话劫持:攻击者可以在本地host文件中添加假的域名解析记录,将用户重定向到一个假的登录页面,以窃取用户的登录凭证。
恶意软件攻击:恶意软件可以修改本地host文件中的域名解析记录,将用户重定向到恶意网站,从而感染用户的计算机。
安全性破坏:攻击者可以修改本地host文件中的域名解析记录,以避开某些网络安全设备或软件的检测。
常见的DNS攻击
DNS欺骗攻击:攻击者通过修改DNS服务器中的资源记录,将目标网站的域名解析到攻击者控制的恶意网站上,从而欺骗用户输入敏感信息。 |
WEB请求返回过程数据包参考:
数据包
概念 :
网页会发送和接收请求,这个请求的载体就是数据包。
参考资料-数据包结构/web请求 :
大致结构 :
请求数据包,请求方法,请求体,响应包,响应头,状态码,代理服务器等
Request,Response,User-Agent,Cookie,Server,Content-Length等
UA头是身份信息,代表是PC端还是安卓端。
数据包漏洞点:网站页面,抓住数据包某些情况下能突破限制,如:XFF请求头伪造,XSS跨站脚本攻击等。
和请求数据包相关的可以看通分类下的:SEC-Study-0000-http/https
常见注入参数
User-Agent:使得服务器能够识别客户使用的操作系统,浏览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中)
Cookie:网站为了辨别用户身份进行session跟踪,并储存在用户本地终端上的数据(通常经过加密)
X-Forwarded-For:简称XFF头,代表了HTTP的请求端真实的IP。它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地址的一个标准(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库或某文件[通过修改XXF头可以实现伪造IP])。
Rerferer:浏览器向 WEB 服务器表明自己的页面来源。
Host:客户端指定自己想访问的WEB服务器的域名/IP 地址和端口号。
网站目录扫描
状态码-返回包
网站目录扫描的前提,需要涉及状态码
状态码请本地搜索 “SEC-Study-0000-http/https”文章进行查看。
代理-本地代理与远程代理
本地代理:
- 开启BP后截取数据包,浏览器必须安装证书,手机模拟器也需要安装代理(两者必须在同一个局域网)。
- BP可以实现很多功能,实际可以实现BP爆破等。
远程代理的作用
- 远程代理的站点:快代理
- 地址白名单:白名单地址不用验证账号和密码就可以使用该代理 - 绑定你的公网IP
- 查真实ip的网站ip138.com:查自己的网络出口IP地址
- 远程代理的作用:避免自己的IP被封禁。 - 跳板
建站
阿里云购买计时服务器(记得释放,用香港的) - 阿里云购买域名 - 宝塔一键搭建网站 - 配置域名解析