HTTP处理

HTTP处理

HTTP简介

HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议,规定了浏览器与服务端传输信息的格式

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

请求过程

  1. 首先客户端通过URL向服务端发送数据请求
  2. 服务端接受客户端的请求解析请求进行处理
  3. 服务端将处理的结果返回给客户端
  4. 客户端接收服务端的响应数据进行渲染

image-20210506211455790

代理请求

  • 代理服务器接受客户端的请求

  • 代理服务器中转客户端的请求发送给服务器

  • 服务端向代理进行响应

  • 代理服务器将服务端响应数据响应给客户端

image-20210506230037036

请求特点

  • 无状态:无论连接多少次,HTTP都不会保存客户端的状态
    • 可以使用cookie或者token保持数据信息
  • 基于TCP/IP协议作用在应用层80端口
  • 请求响应:一次请求一次响应
  • 无连接:服务端对客户端的请求响应之后,立马断开链接,两者再无任何信息
    • 可以使用websockets保持连接,保证服务端可以主动向客户端发送请求

HTTP格式

请求格式

  • 请求首行:包含当前请方式,url,http版本
  • 请求头:一大堆的K/V键值对,例如:host,user-agent,referer等
  • \r\n:空行
  • 请求体:需要传输的数据等

image-20210506212325634

响应格式

  • 响应首行:标识HTTP协议版本号,响应的状态码,以及响应状态
  • 响应头:一般为K/V键值对标识
  • \r\n:空行
  • 响应体:响应的数据内容

image-20210506213429031

响应状态码

1xx:服务器已经成功接收到客户端发送的请求

2xx:服务器对请求的数据处理成功

3xx:重定向,需要进一步操作

4xx:客户端操作有误,例如权限不足,没有通过认证,或者访问资源不存在

5xx:服务端错误

Burpsuite使用

抓包

2XX

数据成功进行响应

image-20210506234735852

3XX

数据进行重定向

aklsdhaklsdhjkashdjkasd

4XX

访问资源不存在

askldjalsdjlkasd

靶场攻击

在线环境

来源页伪造

题目需求

安全工程师“墨者”在访问一个网页时,提示只能通过另一个页面跳转的方式访问,这该如何办?

解题思路

  • 在HTTP协议中Referer字段告诉服务器从那个页面跳转过来,因此我们可以通过修改Refer字段的内容来完成请求
  • 使用burpsuite进行抓包,其次修改数据包再次发送给服务器即可

image-20210507093730235

# 将上述的Referer字段中的value更改为谷歌的域名即可
Referer:www.google.com/index.html

testaklsdad1092371923809

浏览器信息伪造

题目需求

要求用户访问某网页的时候必须以Iphone手机且在2G的网络下才可以进行访问

解题思路

  • 在HTTP协议中User-Agent字段标明了用户通过什么客户端的浏览器进行访问,因此我们可以通过修改该字段来完成请求内容
  • 在微信6.0中新增NetType识客户端(手机)当前的网络环境,因此我们在User-Agent添加该字段即可

image-20210507103140280

User-Agent:	Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12A365 MicroMessenger/6.0 NetType/2G

image-20210507103252067

防止访问频率

题目需求

微信对某用户进行投票要求某个用户成为投票第一名

解题思路

  • 由于微信且题目要求通过手机微信投票因此我们更改User-Agent为手机微信访问
  • 猜测限制访问通过IP地址只允许某个用户投票一次,因此我们可以通过添加HTTP_X_FORWARDED_FOR来更改用户的IP地址

image-20210507112130817

# 修改User-Agent字段为手机微信
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2

# 注意除首字母之外其余字母需要小写
X-Forwarded-For:192.172.§101§.§1§

image-20210507191904637

posted @ 2021-05-07 19:22  SR丶  阅读(77)  评论(0编辑  收藏  举报