网站用的是https,为啥抓包用户名密码还是明文传输
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网站用的是https,为啥抓包用户名密码还是明文传输相关的知识,希望对你有一定的参考价值。
参考技术A网站用的是https,抓包用户名密码还是明文传输的原因是:
https(ssl)加密是发生在应用层与传输层之间,所以在传输层看到的数据才是经过加密的,而我们捕捉到的http post,是应用层的数据,此时还没有经过加密。这些明文信息,其实就是你的本地数据。
HTTP是一个简单的请求-响应协议,通常运行在TCP之上。指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。HTTP使得开发和部署是那么的直截了当。
扩展资料:
HTTP的相关要求规定:
1、HTTP是应用层协议,同其他应用层协议一样,是为了实现某一类具体应用的协议,并由某一运行在用户空间的应用程序来实现其功能。HTTP是一种协议规范,这种规范记录在文档上,为真正通过HTTP协议进行通信的HTTP的实现程序。
2、HTTP协议是基于C/S架构进行通信的,而HTTP协议的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,客户端的命令行工具还有elink、crul等。
Web服务是基于TCP的,因此为了能够随时响应客户端的请求,Web服务器需要监听在80/TCP端口。客户端浏览器和Web服务器之间就可以通过HTTP协议进行通信了。
3、HTTP规范定义了9种请求方法,每种请求方法规定了客户和服务器之间不同的信息交换方式,常用的请求方法是GET和POST。服务器将根据客户请求完成相应操作,并以应答块形式返回给客户,最后关闭连接。
参考资料来源:百度百科-HTTP
https抓包为什么能看到明文?
https抓包原理很多工具可以抓包,我用的是Charles for Mac 可以抓包。
抓手机https包的过程
mac要安装证书并设成新人,先把手机局域网设成和MAC一样的,设置代理IP和443端口,然后手机下载证书并安装,同时设置信任。之后Charles就能抓到手机上的网络请求了。
抓包工具伪造了自签名证书之后可以成功抓包,并且抓到的是明文。
加密层位于http层(应用层)和tcp层(传输层)之间, 所以抓到的http层的数据并没有加密。 同理, 在后台接收端, 经历解密后, 到达http层的数据也是明文。 要注意, https不是对http报文进行加密, 而是对业务数据进行加密, 然后用http传输。所以需要在客户端对密码进行MD5加密处理才行。
https抓包的原理就是抓包程序将服务器返回的证书截获 ,然后给客户端返回一个它自己的证书;
客户端发送的数据抓包程序用自己的证书解密,然后再用截获的证书加密,再发给服务器 所以你在能看到明文。
密文是针对https两端以外其他路径而言,你作为https链接的两端,当然可以看到明文 。
HTTPS是通过一次非对称加密算法(如RSA算法)进行了协商密钥的生成与交换,然后在后续通信过程中就使用协商密钥进行对称加密通信,之所以要使用这两种加密方式的原因在于非对称加密计算量较大,如果一直使用非对称加密来传输数据的话,会影响效率。
以上是关于网站用的是https,为啥抓包用户名密码还是明文传输的主要内容,如果未能解决你的问题,请参考以下文章