Bootstrap

为什么能抓到网站https传输的明文密码?------顺便说说“知乎”和“支付宝”的安全性对比

        在多数人看来, https是安全的, 因为https和secure http嘛, 真的是这样吗?

        一些人认为, https是加密传输, 所以抓到包也没有用, 是密文的。 真是的这样吗? 我今天无意抓到了某网站登录的密码, 是明文的, 有点吃惊, 结果上网查了一下, 发现还是有不少网站在用https传明文密码。


        下面, 我们以知乎的登录过程来看看,输入密码后, fiddler抓包如下:


        居然是明文密码!!!

        现在你要问, 为什么用https抓包, 还是能看到明文内容呢? 这里我们要理解https的栈流程, 梳理一下就知道, 加密层位于http层和tcp层之间, 所以抓到的http层的数据并没有加密。 同理, 在后台接收端, 经历解密后, 到达http层的数据也是明文。 要注意, https不是对http报文进行加密, 而是对业务数据进行加密, 然后用http传输。 

        我斗胆, 知乎不敢在后台存用户的明文密码。 而注册过程和登录的过程, 知乎后台是能拿到用户密码的, 所以说, 知乎的后台开发同学, 仍然有机会接触到用户的文明密码, 这是很危险的啊。 怎么让用户放心呢? 另外, 客户端能抓到明文, 坏人很容易植入木马, 获取到登录的密码, 所以, 用https传输密码, 也是不安全的。

        另外一个某网站(在此, 我不点名)居然也是用https传输明文, 呵呵哒。 本来, 用哈希加盐就能解决问题。


        我们来看下支付宝, 大家猜猜结果, 如果支付宝也是这样, 估计阿里就不是阿里了, 来抓包看看:


        可见, 支付宝是对明文密码进行了处理, 然后用https传输的。 这是预期中的, 也是应该的。给个赞。

        我又试了某知名网站(在此, 我不点名), 发现也是非明文密码, 且用https传输, 赞一个。


        不多说。


;