更新时间: 试题数量: 购买人数: 提供作者:

有效期: 个月

章节介绍: 共有个章节

收藏
搜索
题库预览
浅析HTTPS中间人攻击与证书校验? http://www.2cto.com/article/201607/523509.html 证书是https里非常重要的主体,可用来识别对方是否可信,以及用其公钥做密 钥交换。可以看见证书里面包含证书的颁发者,证书的使用者,证书的公钥,颁 发者的签名等信息。其中 Issuer Name是签发此证书的 CA名称,用来指定签发 证书的CA的可识别的唯一名称 (DN, Distinguishe 证,这样通过各级实体证书的验证,逐渐上溯到链的终止点,即可信任的根(  )https握手过程的证书校验环节就是为了识别证书的有效性唯一性等等,所以严 格意义上来说 https下不存在中间人攻击,存在中间人攻击的前提条件是没有严 格的对证书进行校验,或者人为的信任伪造证书,下面一起看下几种常见的 https“中间人攻击 ”场景。 (1)证书未校验 由于客户端没有做任何的证书校验,所以此时随意一张证书都可以进行中间人攻 击,可以使用 burp里的这个模块进行中间人攻击。 通过浏览器查看实际的 https证书,是一个自签名的伪造证书。 (2)部分校验 做了部分校验,例如在证书校验过程中只做了证书域名是否匹配的校验,可以使 用burp的如下模块生成任意域名的伪造证书进行中间人攻击。 实际生成的证书效果,如果只做了域名、证书是否过期等校验可轻松进行中间人 攻击(由于chrome是做了证书校验的所以会提示证书不可信任 )。 (3)证书链校验 如果客户端对证书链做了校验,那么攻击难度就会上升一个层次,此时需要人为 的信任伪造的证书或者安装伪造的 CA公钥证书从而间接 信任伪造的证书,可以 使用burp的如下模块进行中间人攻击。 可以看见浏览器是会报警告的,因为 burp的根证书 PortSwigger CA并不在浏 览器可信任列表内,所以由它作为根证书签发的证书都是不能通过浏览器的证书 校验的,如果将 PortSwigger CA导入系统设置为可信任证书,那么浏览器将不 会有任何警告。 手机客户端 Https数据包抓取 上述第一、二种情况不多加赘述,第三种情况就是我们经常使用的抓手机应用 https数据包的方法,即导入代理工具的公钥证书到手机里,再进行 https数据 包的抓取。导入手机的公钥证书在 android平台上称之为受信任的凭据, 可以看见是 Issuer和Subject一样的自签名 CA公钥证书,另外我们也可以通 过证书类型就可以知道此为公钥证书, crt、der格式的证书不支持存储私钥或证 书路径(有兴趣的同学可查找证书相关信息 )。导入CA公钥证书之后,参考上文 的证书校验过程不难发现通过此方式能通过证书链校验,从而形成中间人攻击, 客户端使用代理工具的公钥证书加密随机数,代理工具使用私钥解密并计 算得到 对称加密密钥,再对数据包进行解密即可抓取明文数据包。 (4)中间人攻击原理 一直在说中间人攻击,那么中间人攻击到底是怎么进行的呢,下面我们通过一个 流行的MITM开源库mitmproxy来分析中间人攻击的原理。中间人攻击的关键 在于https握手过程的 ClientKeyExchang 服务器证书里的公钥进行加密,如果用的伪造证书的公钥,那么中间人就可以解 开该密文得到 pre_master_secret计算出用于对称加密算法的 master_key,从 而获取到客户端发送的数据 ;然后中间人代理工具再使用其和服务端的 master_key加密传输给服务端 ;同样的服务器返回给客户端的数据也是经过中 间人解密再加密,于是完整的 https中间人攻击过程就形成了,一图胜千言,来 吧。 (5)App证书校验 通过上文第一和第二部分的说明,相信大家已经对 https有个大概的了解了,那
中间人攻击 ——ARP欺骗的原理、实战及防御? (1)什么是网关 首先来简单解释一下什么是网关,网关工作在 OSI七层模型中的传输层或者应 用层,用于高层协议的不同网络之间的连接,简单地说,网关就好比是一个房间 通向另一个房间的一扇门。 (2)ARP协议是什么 ARP(Address Resolution Protocol)地址转换协议,工作在 OSI模型的数据 链路层,在以太网中,网络设备之间互相通信是用 MAC地址而不是 IP地址, ARP协议就是用来把 IP地址转换为 MAC地址的。而 RARP和ARP相反,它是 反向地址转换协议,把 MAC地址转换为 IP地址。 假设A(192.168.1.2)与B(192.168.1.3)在同一局域网, A要和B实现通信。 A首 先会发送一个数据包到广播地址 (192.168.1.255),该数据包中包含了源 IP(  )、 源MAC、目的IP(  )、目的 MAC,这个数据包会被发放给局域网中所有的主 机,但是只有 B主机会回复一个包含了源 IP(  )、源MAC、目的IP(  )、 目的MAC的数据包给 A,同时A主机会将返回的这个地址保存在 ARP缓存表 中。 (3)ARP欺骗原理 上面提到过了 ARP缓存表,在每台主机都有一个 ARP缓存表,缓存表中记录了 IP地址与MAC地址的对应关系,而局域网数据传输依靠的是 MAC地址。 假设主机 A 192.168.1.2,B 192.168.1.3,C 192.168.1.4; 网关 G 192.168.1.1; 在同一局域网,主机 A和B通过网关 G相互通信,就好比 A和B两个人写信, 由邮递员 G送信,C永远都不会知道 A和B之间说了些什么话。但是并不是想 象中的那么安全,在 ARP缓存表机制存在一个缺陷,就是当请求主机收到 ARP 应答包后,不会去验证自己是否向对方主机发送过 ARP请求包,就直接把这个 返回包中的 IP地址与MAC地址的对应关系保存进 ARP缓存表中,如果原有相 同IP对应关系,原有的则会被替换。 这样C就有了偷听 A和B的谈话的可能,继续思考上面的例子: C假扮邮递员,首先要告诉 A说:“我就是邮递员 ” (C主机向A发送构造好 的返回包,源 IP为G 192.168.1.1,源MAC为C自己的MAC地址),愚蠢的 A很轻易的相信了,直接把 “C是邮递员 ”这个信息记在了脑子里;