Kali linux 学习笔记(五十七)Web渗透——https攻防(openssl、sslscan、sslyze) 2020.4.1
·
前言
本节学习https的相关知识
1、https简介
HTTPS 作用
- CIA
- 解决的是信息传输过程中数据被篡改、窃取
- 解密:对称、非对称、单向
HTTPS 攻击方法
- 降级攻击
- 解密攻击(明文、证书伪造)
- 协议漏洞、实现方法的漏洞、配置不严格
HTTPS 加密过程
- 三次握手
- 协商加密算法(对称加密算法)
- 客户端获取服务器的公钥证书
- 客户端在自己的根证书列表来验证服务器公钥证书,验证成功说明服务器公钥证书可信任
- 客户端随机生成一次性会话密钥(对称密钥)
- 客户端使用服务器的公钥加密一次性会话密钥,发给服务器
- 服务器用自己的私钥解密,获取一次性会话密钥
- 客户端对明文进行 Hash 计算,得到Hash值1
- 客户端使用会话密钥加密明文和Hash值1,然后将密文1进行 Hash 计算生成 Hash值2
- 客户端使用服务器公钥加密密文1和Hash值2,生成密文2,将密文2发送给服务器
- 服务器解密密文2,获取密文1和Hash2,然后对密文1进行Hash计算,并比较解密得到的Hash2和计算得到的Hash值是否相同(完整性)
- 用会话密钥解密密文1,得到明文和Hash值1,然后对明文进行Hash计算,并比较解密得到的Hash1和计算得到的Hash值是否相同(完整性)
2、openssl
- 直接调用 openssl 库识别目标服务器支持的 SSL/TLS cipher suite
- openssl 需要大量密码学相关知识,命令复杂,结果可读性差

openssl s_client -connect www.baidu.com:443 #百度, 查看使用的安全协议信息,如图所示
openssl s_client -connect www.taobao.com:443 #淘宝, 查看使用的安全协议信息
openssl s_client -tls1_2 -cipher 'ECDH-RSA-RC4-SHA' -connect www.taobao.com:443 #验证不安全的加密算法是否可以连接
openssl s_client -tls1_2 -cipher "NULL,EXPORT,LOW,DES" -connect www.taobao.com:443 #验证不安全的加密套件是否可以连接
openssl ciphers -v "NULL,EXPORT,LOW,DES" #可被破解的 cipher suite
man openssl #帮助
查看官网公布的安全的和不安全的加密算法信息
www.openssl.org/docs/manmaster/man1/ciphers
3、sslscan
- 自动识别 ssl 配置错误、过期协议、过时 cipher suite 和 hash 算法
- 默认会检查 CRIME、heartbleed 漏洞
- 绿色表示安全、红色黄色需要引起注意
sslscan --tlsall www.taobao.com:443 #TLS 支持的 cipher suite
sslscan --show-certificate --no-ciphersuites www.taobao.com:443 #分析证书详细信息
4、sslyze
- python 编写
- 检查 ssl 过时版本
- 检查存在弱点的 cipher suite
- 扫描多站点时,支持来源文件
- 检查是否支持会话恢复
sslyze --regular www.taobao.com:443
nmap --script=ssl-enum-ciphers.nse www.taobao.com
结语
出了上述工具,还有个在线网站
www.ssllabs.com/ssltest/
教程的时候国内刚刚开始全站https
现在已经基本都是https
所以得做了解
更多推荐



所有评论(0)