CTFWeb篇02-HTTP

HTTP:

超文本传输协议
用于定义WEB浏览器与WEB服务器之间交换数据的过程
规定了请求和响应的整个过程。

http请求:

  • 一个状态行
    • request URL:请求路径
    • request method:请求方式
      • GET;POST;DELETE;PUT;PATCH;HEAD;OPTIONS;CONNECT;TRACE
    • 若干请求头
      • referer
        • 表示当前网页来源于哪里,采用的格式是URL,可以凭此查到访客的来源
        • referer-policy策略:
          • no-referer:该策略表示不发送referer信息
          • no-referrer-when-downgrade:如果从 HTTPS 网址链接到 HTTP 网址,不发送Referer字段,其他情况发送
          • origin:Referer字段一律只发送源信息(协议+域名+端口),不管是否跨域
          • origin-when-cross-origin:同源时,发送完整的Referer字段,跨域时发送源信息。
          • strict-origin:如果从 HTTPS 网址链接到 HTTP 网址,不发送Referer字段,其他情况只发送源信息。
          • strict-origin-when-cross-origin:同源时,发送完整的Referer字段;跨域时,如果 HTTPS 网址链接到 HTTP 网址,不发送Referer字段,否则发送源信息
          • unsafe-url:Referer字段包含源信息、路径和查询字符串,不包含锚点、用户名和密码
    • 请求的实体内容

(1)请求行/请求方法(重点掌握):

GET请求
1.通常用来从浏览器获取内容。
2.请求参数默认在地址栏中。格式:URL/参数1=???(&参数2=???......)
3.请求参数的大小有限制,一般1-8KB,不同浏览器不同。
4.默认的请求方式。5.相对不安全(地址栏直接发现)
POST请求
1.通常用来提交内容(提交表单(登录、注册、个人信息填写等))
2.请求参数在实体,即Form Data(表单数据)中。
3.请求参数的大小认为没有限制。
4.上传文件必须使用post请求。5.相对安全
DELETE请求
1.用于删除内容。
2.有restful风格该风格也支持PUT;PATCH。3.格式:URL/delete/...(...中为删除的内容)
PUT请求
1.用于修改,携带实体内容,修改的同时会覆盖,即拿新的内容覆盖原先内容
2.格式:URL/update/...(同上)
PATCH请求
1.同样用于修改,但不会覆盖。
2.格式:URL/patch/...(同上)

(2)HTTP请求头:request-header

1.accept:浏览器所接收的信息,通知服务器浏览器可以接受的文件类型
2.accept-Encoding:通知服务器浏览器接收的编码方式
3.accept-Language:通知服务器浏览器接收的语言
4.connection:保持连接
5.host:主机名称,要访问的主机名称。eg.localhost:访问自己的电脑和端口。
6.user-agent:发出请求的客户端信息
7.cookie:浏览器存储的缓存信息,把保存在该请求域名的所有cookies发送给服务器。
8.content-type:浏览器所发出的内容类型。【1.application/x-www-form-urlencoded:表单形式,
9.referer:当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的
10.X-Forwarded-For:简称XFF头,代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项
注意:HTTP默认端口为80,HTTPS为443,HTTP有1.0和1.1两个版本,1.0:发出请求,中断连接,1.1发出请求,保持连接,如果同样的请求,复用连接。

(3)请求的实体内容:通常post;put;patch请求携带的参数放置在实体中,get;delete在地址栏。

http响应

  • 一个状态行(被放在请求中)
    • 响应的状态信息:数字前,不同浏览器内容不同
    • 响应的状态码:一个数字。
      • 200(请求被成功处理)
        304(使用缓存)
        404(路径错误/资源不存在)
        500(服务器错误(程序员出错))
        302/307(请求重定向(从一个页面转到另一个页面(比如登录成功之后跳转到首页)))
        401(请求未认证(比如需要登录权限进行操作,没有登录))
    • HTTP状态码分类
      • 1** 信息,服务器收到请求,需要请求者继续执行操作
        2** 成功,操作被成功接收并处理
        3** 重定向,需要进一步的操作以完成请求
        4** 客户端错误,请求包含语法错误或无法完成请求
        5** 服务器错误,服务器在处理请求的过程中发生了错
        了解更多状态码
    • 若干响应头
    • 响应的实体内容
      • 服务器返给客户端的数据

(1)HTTP响应头:response header

1.connection:保持连接
2.content-type

  • text/html(网页形式)
    • image/jpeg
    • text/json(json数据格式)
    • application/json(json格式的数据)
      3.date
      4.Set-Cookie头:设置HTTP cookie,服务器返回给浏览器

HTTPS

安全套接字层超文本传输协议
比HTTP更安全
加入了SSL协议,该协议依靠证书来验证服务器的身份并为通信提供加密
非对称加密公钥加密信息私钥解密,私钥加密信息公钥解密

HTTP题目大部分都可以用burpsuite工具解决

posted @ 2024-10-05 21:06  micryfotctf  阅读(168)  评论(0)    收藏  举报