zoukankan      html  css  js  c++  java
  • 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等
    • :空行
    • 请求体:需要传输的数据等

    image-20210506212325634

    响应格式

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

    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

  • 相关阅读:
    php面向对象方法
    php数组中元素的操作
    PHP数组的排序
    [设计模式]抽象工厂模式
    [设计模式]建造者模式
    [设计模式]工厂方法模式
    [设计模式]简单工厂模式
    [设计模式]单例模式
    设计模式系列
    JAVA 设计模式 状态模式
  • 原文地址:https://www.cnblogs.com/SR-Program/p/14742320.html
Copyright © 2011-2022 走看看