超文本传输协议(HTTP,Hyper Text Transfer Protocol)是访问万维网使用的核心通信协议,也是今天所有Web应用都会使用的协议。HTTP协议虽然被广泛应用于Web应用之中,但由于其传输时的不安全性,之后将被HTTPS协议逐步替代。
在最初的时候,HTTP 只是一个为获取基于文本的静态资源而开发的一个简单协议,后来随着Web应用的兴起,人们以各种形式扩展和利用它,使其能够支持如今常见的复杂分布式应用。
HTTP机制:客户端发送一条请求,然后服务端返回一条响应消息。该协议是基于TCP/IP协议的传输协议。
1. HTTP请求
我们可以在浏览器的控制台上查看 HTTP 的请求头部分的信息。例如,输入网址http://www.example.com,然后再按F12打开控制台,如图1所示。
图1 HTTP请求头
可以从图1中看出请求头大致的组成部分如下。
(1)访问方法,最常用的方法为GET,它的主要作用是从Web服务器获取一个资源。
(2)所请求的URL地址。
(3)使用的HTTP版本。Internet最常有的HTTP版本为1.0和1.1,而两者最主要的区别是在攻击Web程序时,HTTP1.1的版本必须使用Host请求头。
(4)User-Agent消息头提供与浏览器或其他生成请求的客户软件相关的信息。
(5)Host消息头用于指定出现在被访问的完整URL中的主机名称。
(6)Cookie消息头用于提交服务器向客户端发布的参数。
2. HTTP响应
对应于前面提到的HTTP请求,在浏览器中也可以找到响应头的信息,如图2所示。
图2 响应头信息
响应头中有部分信息与请求头中是一样的,如HTTP的版本。
响应头往往表示请求结果的状态码,200是最正常的状态码。
响应头还有如下的几个要点:Server消息头,指明所使用Web服务器软件;Content-Length消息头规定消息主题的字节长度。
3. HTTP方法
在攻击Web应用程序时,最常用的两个方法为GET和POST。
GET方法的作用为获取资源。它可以在URL中以查询字符串的形式向所请求的资源发送参数。
POST方法的作用为执行操作。使用这个方法可以在URL查询字符串与消息主体中发送请求参数。
在传输数据方面,POST方法比GET方法有效。GET传输的数据不大于2 KB,而POST传输的数据量较大,一般默认没有限制。但理论上,IIS4中最大的量为80 KB,IIS5为100 KB。并且GET方法的安全性比较低,POST方法会将数据进行加密,所以会比较安全。另一点就是POST方法的执行效率比GET方法要高。
来源:freebuf.com 2021-05-13 09:22:36 by: dataxsy
请登录后发表评论
注册