Burpsuit代理https设置

来源:互联网 发布:詹姆斯16总决赛数据 编辑:程序博客网 时间:2024/05/22 01:53

0x00 背景


做Web层面的安全测试,免不了要做中间人代理来截包分析。常用的工具有BurpSuit,Fiddler,Charles等等。关于这些工具的用法网上已经有很多介绍,这里就不赘述了。然而在测试一些安全性高的站点时,往往会遇到SSL通信的问题。这里对这些数字证书的问题进行一个小结,欢迎拍砖交流。

0x01 数字证书


数字证书主要在互联网上的用于身份验证的用途。 安全站点在获得CA(Certificate Authority)认证后,获得一个数字证书,以此来标识其合法身份的真实性。

数字证书的格式遵循X.509标准。(X.509是由国际电信联盟(ITU-T)制定的数字证书标准。它设定了一系列严格的CA分级体系来颁发数字证书。) 数字证书主要分为服务器证书和客户端证书。服务器证书(SSL证书)用来进行身份验证和通信的加密,客户端证书主要用于身份验证和电子签名。下面对数字证书的组成结构和工作原理进行一个简单的介绍。 最简单的证书包含了:

1. 证书内容
a) 证书所有者的公钥
b) 颁发者信息
c) 使用者信息

d) 等等


2. CA的数字签名 (CA使用私钥对证书内容的报文摘要进行加密后的结果)
3. 签名算法
真实的数字证书主要结构如下图:

enter image description here

其中证书内容字段的详细结构如下:

enter image description here

CA的数字签名是CA用其私钥对证书信息的HASH值加密后的结果。由于使用私钥加密以及非对称加密算法的特性,数字签名具有不可伪造的特点,同时报文摘要也保证了证书信息的完整性。用户可以使用CA的公钥对数字证书中CA的数字签名进行解密来判断该数字证书信息的真实性。 客户端校验服务器证书的大致流程如下: 1. 查看证书是否过期 2. CA是否可靠 3. CA的公钥能否正确解开服务器证书的CA数字签名,即证书的签名值 4. 服务器证书上的域名是否和服务器的实际域名相匹配

其中CA的根证书大多是由操作系统预装好并将它们设置为受信任的证书。所谓根证书就是未被签名的公钥证书或自签名的证书,是CA给自己颁发的证书,包含了CA的公钥等信息。安装某个CA的根证书,就表示信任这个CA,它是证书信任链的开始。国际著名的CA有:verySign,Batltimore,Entrust等。 中国金融认证中心(China Financial Certification Authority,简称CFCA)是经中国人民银行和国家信息安全管理机构批准成立的国家级权威安全认证机构,是国家重要的金融信息安全基础设施之一。

Tips: 某些浏览器内置的CA证书列表 https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/included/

0x02 证书格式


常见的证书文件有以下格式:

格式 扩展名
DER .cer .crt .rsa
PKCS7 .p7b .p7r
CMS .p7c .p7m .p7s
PEM .pem (ASCII文件 一般使用base64编码)
PKCS10 .p10 .csr (ASCII文件)
SPC .pvk .spc
常见的密钥库(keystore)文件格式如下:

格式 扩展名
JKS .jks .ks
JCEKS .jce
PKCS12 .p12
BKS .bks
UBER .ubr

0x03 burpsuit拦截HTTPS步骤

首先 在chrome浏览器中点击https处,会出现如下图所示:

点击证书信息后,会出现证书的窗口,选择详细信息,点击复制文件,开始证书导出向导

下一步:


导出完成。

然后我们需要将导出的证书在导入浏览器中,在Chrome浏览器中设置选项中,选择高级选项。

找到HTTPS/SSL管理证书。如下图


单击下一步将导出的证书导入即可。


0 0
原创粉丝点击