公众号无关。 |
简介
在互联网的世界里,HTTP(HyperTextTransferProtocol)和HTTPS(HyperText Transfer Protocol Secure)是两种最为常见的网络协议。它们在数据传输和安全性方面有着显著的区别,影响着我们日常在Web浏览器中的体验和数据隐私保护。
详情
HTTP
HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。HTTP的中文名叫超文本传输协议,它负责完成客户端到服务端的一系列操作,是专门用来传输注入HTML的超媒体文档等web内容的协议,它是基于传输层的TCP协议的应用层协议
HTTP的请求方式
根据HTTP标准,HTTP请求可以使用多种请求方法
HTTP1.0定义了三种请求方法:
1.GET GET方法的作用在于获取资源
2.POST POST方法的主要作用是执行操作。
3.HEAD HEAD这个方法的功能与GET方法相似,不同之处在于服务器不会在其响应中返回消息主体。服务器返回的消息头应与对应GET请求返回的消息头相同。因此,这种方法可用于检查某一资源在向其提交GET请求前是否存在
HTTP1.1新增了五种请求方法:
1.OPTIONS
这种方法要求服务器报告对某一特殊资源有效的HTTP方法。服务器通常返回一个包含 Allow消息头的响应,并在其中列出所有有效的方法
2.PUT这个方法试图使用包含在请求主体中的内容,向服务器上传指定的资源。如果激活这个方法,渗透测试员就可以利用它来攻击应用程序。例如,通过上传任意一段脚本并在服务器上执行该脚本来攻击应用程序。
3.DELETE请求服务器删除指定的页面。
4.TRACE这种方法主要用于诊断。服务器应在响应主体中返回其收到的请求消息的具体内容。这种方法可用于检测客户端与服务器之间是否存在任何操纵请求的代理服务器。
5.CONNECTHTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器
每条HTTP响应消息都必须在第一行中包含一个状态码,说明请求的结果。根据代码的第一位数字,可将状态码分为以下5类。
请求头:
http请求头部解析
Accept: 用于指定客户端接受哪些类型的信息。eg: Accept: image/gif;
Accept-Charset:用于指定客户端接受的字符集。eg:Accept-Charset:iso-8859-1,gb2312;
Accept-Encoding:用于指定可接受的内容编码。eg:Accept-Encoding:gzip.deflate;
Accept-Language: 用于指定一种自然语言。eg: Accept-Language:zh-cn;
Authorization:用于证明客户端有权查看某个资源,当浏览器访问一个页面时,如果收到服务器的响应代码为401(未授权),可以发送一个包含Authorization请求报头域的请求,要求服务器对其进行验证;
Host: 用于指定被请求资源的Internet主机和端口号;
User-Agent: 允许客户端将它的操作系统、浏览器和其它属性告诉服务器。会造成个人信息泄露;
Cookie: 某些网站为了辨别用户身份、进行 ession 跟踪而储存在用户本地终端上的数据(通常经过加密);
Referer:告知下一次请求服务器的来源页面链接
HTTPS
HTTPS 协议(HyperText Transfer Protocol over Secure SocketLayer):一般理解为HTTP+SSL/TLS,通过SSL证书来验证服务器的身份并为浏览器和服务器之间的通信进行加密。
HTTP/HTTPSP协议区别
HTTPS是HTTP协议的安全版本,HTTP协议的数据传输是明文的,是不安全的,HTTPS使用了SSL/TLS协议进行了加密处理。
http和https使用连接方式不同,默认端口也不一样,http是80,https是443。https更安全,所耗费资源也越高
HTTPS协议多次握手,导致页面的加载时间延长近50%HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;申请SSL证书需要钱,功能越强大的证书费用越高。
SSL涉及到的安全算法会消耗CPU 资源,对服务器资源消耗较大
Wireshark抓包
HTTP协议
定位到登陆认证的这条POST请求,数据在传输过程中以明文形式传送。这意味着如果攻击者能够截获网络流量,他们就能够轻易地读取其中的内容,包括敏感信息(如用户名、密码等)。
在Wireshark抓包时,HTTP请求和响应的内容将以明文形式显示,包括URL、请求头、响应头和主体数据。
HTTPS抓包
网站使用HTTPS,使用Wireshark抓取登陆过程中的报文。
在Wireshark抓包时,HTTPS请求和响应的内容是经过加密的,因此无法直接查看其中的明文内容。可以看到一些加密后的二进制数据,但无法轻易解读其含义。
虽然HTTPS提供了更高的安全性,但它仍然不是绝对安全的。攻击者仍然可以使用其他方法进行攻击,例如中间人攻击。此外,HTTPS只保护了数据在传输过程中的安全,不代表访问的网站本身就是安全可信的。
公告
HW马上开始了,本公众号从本周打算为各位粉丝分享HW经验,包括应急相应流程,常见web漏洞事件分析、常见序列化漏洞特征,还有HW现场的工作及注意事项
添加管理微信进内部交流群
# 往期推荐
一款基于go写的端口扫描工具,集masscan+nmap+wappalyzer+证书于一体
一款信息泄漏利用工具,适用于.git/.svn/.DS_Store泄漏和目录列出
(签名掠夺者):一款数字签名复制器,可将其他官方exe中数字签名复制到没有签名的exe中。
WebSocket 内存马/Webshell,一种新型内存马/WebShell技术
Chunsou(春蒐),Web指纹资产识别,风险收敛以及企业互联网资产风险摸查识别工具
生成各类免杀webshell适合市面上常见的几种webshell管理工具、冰蝎、蚁剑、哥斯拉
Spring漏洞综合利用工具——Spring_All_Reachable
MySql、Oracle、金仓、达梦、神通等数据库、Redis等管理工具
jmx未授权访问 弱口令批量检测 GUI工具 - jmxbfGUI
原文始发于微信公众号(x9sec):HTTP与HTTPS协议及Wireshark抓包比较
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论