网络攻防学习(Web基础篇)——小迪安全

一、一些常见的基本概念

1、DNS

(1)域名解析系统
(2)与HOST的关系:
先在本地查找HOST文件,找不到在在网上查找相同的DNS

2、CDN

(1)内容分发网络,目的是让用户能够更快的得到请求的数据,简单来说就是用来加速的,他是一个就近访问技术。
(2)与DNS的关系:
CDN是一个就近访问技术,要给用户分配一个最佳CDN节点,需要用到DNS服务来进行定位。所以用户在访问网站时,首先会利用DNS服务器进行用户定位,确认用户在哪一个位置,然后调度服务器让该用户去访问该地的CDN服务器,然后给用户分配最佳的CDN节点

3、CDN的工作过程

(1)DNS请求当地的local DNS
(2)当地local DNS递归查询服务器的gslb(全局负载均衡)
(3)服务器根据local DNS分配最佳节点,返回IP
(4)用户获得最佳IP,访问最佳节点;如若该节点没有用户想要获取的内容,则通过内部路由访问上一届点,知道找到文件或者到达源站点为止
(5)CDN节点缓存该数据,下次请求该文件时可直接返回

4、常见DNS安全攻击类型

(1)缓存投毒:利用虚假Internet地址替换掉域名系统表中的原地址,该虚假网页上的恶意软件可能会被下载到本地用户电脑上

(2)DNS劫持:在劫持的网络范围内拦截域名解析请求,分析请求的域名把审查范围以外的请求放行,否则返回假的IP是指或者什么都不做只是请求失去响应。效果是对特定的网络不能访问或访问的是假网址。一般通过恶意软件更改终端用户的TCP/IP设置,将用户指向恶意DNS服务器,该DNS服务器会对域名进行解析,并最终指向钓鱼网站等被攻击者操纵的服务器

(3)域名劫持:主要原理和DNS劫持一样。但用户域名一旦被劫持,用户被引导假冒网站进而无法正常浏览网页,用户可能被诱骗到假网站进行登陆注册等操作,只是个人隐私数据泄露
PS:用打比方的方式去理解域名劫持与DNS劫持的话:域名劫持就是输入知乎,打开网站之后会跳出很多小广告;DNS劫持就是输入的是百度的网站,但打开的是CSDN的网站(个人理解是这样的)

(4)DNS DDOS攻击:hacker通过控制大批僵尸网络利用真是DNS协议栈发起带量域名查询请求,利用工具软件伪造元IP发送海量DNS查询报文导致网络带宽耗尽,从而无法传送正常DNS查询请求。(进行迭代查询,从而达到较少的攻击流量消耗大量服务器资源目的)(泛洪攻击)

(5)反射式DNS放大攻击:利用DNS回复包比请求包大的特点,放大流量,伪造请求包的源IP地址为受害者IP,将应答包的流量引入受害的服务器。

二、HTTP和HTTPS

1、基本概念

(1)HTTP:超文本传输协议,位于应用层
(2)HTTPS:超文本传输安全协议,它并非新的传输协议,只是在原有HTTP的基础上将接口协议替换成SSL/TLS协议

2、通信过程

(1)HTTP
简要的来说就是:建立连接——发送请求数据包——返回响应数据包——关闭连接
(2)HTTPS
①大致分为四大阶段:
TCP三次握手——SSL/TLS连接——HTTP请求以及响应——TCP四次挥手
②简要分析其实就是:建立连接——Request请求数据包数据格式——Request返回数据包数据格式——关闭连接
③但真正的HTTPS通信过程不止如此,具体如下:

客户端发起SSL通信(报文中包含了客户端支持的SSL指定版本,加密组件列表)
————服务端通过SSL通信,将与客户端的SSL版本及加密组件列表相同的一组发送到客户端,同时服务端回想客户端发送Certificate报文(报文包含公开密钥证书)
————客户端验证证书是否合法(如果证书可信任,则在网址前面会出现在这里插入图片描述这个图标,否则会给出不受信任的提示)。如果合法且受信任或用户接受了不受信证书,客户端将随机生成一个Pre-master secret,并且通过接收到的公钥加密
————服务端会通过私钥解密出Pre-master secret随机密码穿,解密通过Pre-master secret加密发来的握手信息,同时验证hash与浏览器发来的hash是否一致,然后通过密码加密一段握手信息,发送给客户端
————客户端解密计算握手信息中的hash,如果与服务端发来的hash一致时,握手过程结束,利用对称加密算法进行加密

3、HTTP和HTTPS的区别

(1)使用的端口的不同
HTTP使用的端口号是80,HTTPS使用的端口号是430

(2)可以这么说HTTPS是HTTP的安全版,可以在下面的表看出,HTTP是超文本传输,连接是非常简单的且是无状态的;而HTTPS则是使用了根据安全性的SSL/TLS加密传输协议。

HTTP HTTPS
TCP TCP
/ SSL/TLS
IP IP

4、Request请求数据包数据格式

(1)请求头
(2)请求行
(3)空行
(4)请求体

5、Response返回数据包数据格式

(1)状态行
(2)响应头标
(3)空行
(4)响应数据

6、HTTP规划定义的8中可能的请求方法

(1)GET:检索URL中标识资源的一个简单请求
(2)HEAD:与GET方法相同,服务器只返回状态和头标,并不返回请求文档
(3)POST:服务器接收被写入客户端输出流中的数据请求
(4)PUT:服务器保存请求数据作为指定URL新内容的请求
(5)DELETE:服务器删除URL中命令的资源请求
(6)OPTIONS:关于服务器支持的请求方法信息的请求
(7)TRACE:web服务器反馈HTTP请求和其头标的请求
(8)CONNECT:文档化,但当前未实现的一个方法,预做隧道处理

7、主要的字符意思

下图是登录百度网站时的网页响应头标、请求标头源代码网络攻防学习(Web基础篇)——小迪安全_第1张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(1)HOST:主机豁域名地址
(2)Accept:浏览器豁其他客户可以接受的MIME文件格式,Servlet可以根据它判断并返回适当的文件格式
(3)User-Agent:客户浏览器名称
(4)Host:对应网址URL中的Web名称和端口号
(5)Accept-Langeuage:浏览器支持的语言类
(6)connection:服务器是否可以维持固定的HTTP连接。HTTP是无连接的;HTTP/1.1使用Keep-Alive为默认值
(7)Cookie:具体是指浏览器寄存的小型数据体,它可以记载和服务器相关的用户信息,也可用来实现会话功能。
(8)Rerferer:表明产生请求的网页URL

8、常见的HTTP响应码

(1)200:存在文件
(2)403:存在文件夹
(3)3xx:均有可能存在
(4)404:不存在文件夹及文件
(5)500:均可能存在

9、Quasar

quasar是一种公开可用的开源远程访问木马,主要针对Windows操作系统。该木马主要是通过恶意附件在网络钓鱼电子邮件中分发,它主要使用计划任务和注册表项来实现自身的持久度。

你可能感兴趣的:(网络,前端,http)