安全测试基础之HTTPS

2020-06-22  本文已影响0人  测试之心

不知道小伙伴注意到没有,不知不觉中,我们常用的网站都已经采用了HTTPS加密;Chrome把HTTP网站标记为不安全,Apple要求所有IOS App全部采用HTTPS加密。那么本期我们就来介绍一下HTTPS。

01

HTTPS介绍

要介绍HTTPS,先得说一下HTTP。

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。

HTTP 协议采用明文传输信息,存在信息窃听、信息篡改和信息劫持的风险,于是,诞生了HTTPS。简单来说HTTPS是HTTP的安全版,是使用 TLS/SSL 加密的 HTTP 协议。TLS/SSL 具有身份验证、信息加密和完整性校验的功能。

02

TLS介绍

TLS(Transport Layer Security,安全传输层),TLS是建立在传输层TCP协议之上的协议,服务于应用层,它的前身是SSL(Secure Socket Layer,安全套接字层),它实现了将应用层的报文进行加密后再交由TCP进行传输的功能。

我们一起来回顾一下SSL/TLS的发展历程:

SSL 1.0  版本从未公开过,因为存在严重的安全漏洞。

1995年:SSL 2.0 版本在1995年2月发布,但因为存在数个严重的安全漏洞而被3.0版本替代。

1996年:SSL 3.0  写成RFC,开始流行。目前(2015年)已经不安全,必须禁用。SSL 3.0的漏洞允许攻击者发起降级攻击。

1999年:TLS 1.0  互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。

2006年:TLS 1.1  作为 RFC 4346 发布。主要修复了CBC模式相关的如BEAST攻击等漏洞。

2008年:TLS 1.2  作为 RFC 5246 发布 。提供现代加密算法(AEAD),增进安全性,目前主要使用的版本。

2018年:TLS 1.3  作为 RFC 8446 发布。,支持0-rtt,大幅增进安全性,砍掉了AEAD之外的加密方式。

目前通过wireshark抓包,可以看到,使用的都是 TLS 1.2,同时window服务器应该禁用默认的 SSL 2.0 和 SSL 3.0 只启用 TLS 1.2 保证安全。

03

HTTPS就绝对安全了吗

HTTPS就绝对安全了吗,也不是,下面说一种攻击方式--中间人攻击:

你以为你在跟服务器通信,其实不是……

在我们测试工作中,会用fiddler或者burpsuite抓取https包,利用的就是中间人攻击这个原理。

以后有机会再介绍如何抓取HTTPS包。

上一篇下一篇

猜你喜欢

热点阅读