HTTP请求报文

news/发布时间2024/5/5 18:16:01
  • 看到请求报文时问自己

    • 什么请求方法 GET
    • 访问了哪个页面 /cms/show.php
    • 传递了哪些参数 ?id=33
  • 请求报文

POST /cms/admin/login.action.php HTTP/1.1
Host: 10.9.23.4         #目标主机ip
Content-Length: 51      #正文长度
Cache-Control: max-age=0        
Upgrade-Insecure-Requests: 1   
Origin: http://10.9.23.4  
Content-Type: application/x-www-form-urlencoded      #请求报文的正文的类型是x-www-form-
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36    #浏览器的指纹 也就是浏览器的版本
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7   
Referer: http://10.9.23.4/cms/admin/login.php   #当前请求的上个请求
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: username=admin           #身份证  声明
Connection: close       #访问完浏览器后关闭页面username=admin&image.x=55&image.y=59&password=ADMIN
  • HTTP 请求由请求行、请求头、请求正文三个部分组成。

1. 请求行

  • http报文的第一行,由空格字符分成三部分
    image.png

  • 常见的请求方法 options get post head trace put delete
    image.png

2. 请求头

  • 从请求报文第二行开始到第一个空行为止之间的内容。其中包含很多字段:
    image.png

3. 请求正文

  • 带有请求正文的,一般都是 POST 方法。第一个空行开始以后的所有内容。

4. 常见传参方式

  • GET 传参,向服务器提交的参数在 URL 中, http://10.4.7.130/cms/show.php? id=33 。?id=33 就是通过 GET 方式向服务器提交的参数。通过 GET 向服务器传递多个参 数用 & 连接 ?name=123&pass=123456
  • POST 传参,向服务器提交的参数在请求正文中,如登录功能 POST 数据包所示,向服务 器提交了 4 个参数,分别为:
    image.png

通过改变请求方法绕过检测

  • 更改请求方法后 服务器一样会响应 但是不认识请求方法就不会检测 可以绕过检测
    image.png

通过发送两个报文的方式绕过请求

  • 发送两个post请求在同一个请求包中

    • 两个报文要紧贴在一起 不要有任何符号
    • 要关闭计算正文长度 因为正文长度是第一个请求的长度 第二个请求就会被浏览器认为是请求就会响应 不然就会报错
  • 报文内容

POST /cms/admin/login.action.php HTTP/1.1
Host: 10.9.23.4
Content-Length: 51
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://10.9.23.4
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.9.23.4/cms/admin/login.php
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: username=adminusername=admin&image.x=55&image.y=59&password=ADMINPOST /cms/admin/login.action.php HTTP/1.1
Host: 10.9.23.4
Content-Length: 51
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
Origin: http://10.9.23.4
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.6167.85 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Referer: http://10.9.23.4/cms/admin/login.php
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: username=admin
Connection: closeusername=admin&image.x=55&image.y=59&password=ADMIN
  • 报文修改
    image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/22131335.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

协程与迭代器

自己实现unity的协程功能_c#实现类似unity的协程-CSDN博客 前天和同事聊天,聊起来协程,聊起原理,什么迭代器,什么MoveNext 几句话带过之后就算完了,事后再次想起,发现自己已经忘了具体细节,于是也打算写成博客,供自己以后回应 一句话概括 (yield外部的)(会运行的)代…

Pedagogic metalanguage of Harry Potter

✨The images below is all from Harry Potter.Prominence(visual) 2.Size:small 3.Sharpness foreground color:Harry is out of focus and the snake is in focus 4.Address(visual): indirect gaze 5.Angle: no angle 6.Distance/shot:close shot 💡In this picture,Harry…

Kubernetes客户端认证(三)—— Kubernetes使用CertificateSigningRequest方式签发客户端证书

1、概述在《Kubernetes客户端认证(一)—— 基于CA证书的双向认证方式 》和《Kubernetes客户端认证(二)—— 基于ServiceAccount的JWTToken认证》两篇博文中详细介绍了Kubernetes客户端认证方式,包括以证书方式访问的普通用户或进程(运维人员及 kubectl、 kubelet 等进程)…

2-11. 背包数据初始化

创建 DataCollection创建 Enums种子、商品、家具 锄头(锄地)、砍树工具、砸石头工具、割草工具、浇水工具、菜篮子收割工具 被割的杂草创建 Inventory 文件夹 创建好 Inventory 文件夹,将 Item 文件夹放到 Inventory 文件夹下面,然后再创建 Data SO 文件夹,并在该文件夹下…

Notepad++ 如何调整显示字面大小

在 Notepad++ 上,可以使用 ctrl 加上鼠标的左键来滚动来进行调整。如何恢复默 可以使用 Ctrl 加数字键盘上的 / 键 来恢复默认设置。 当然也可以通过菜单栏上 view 菜单下的 Zoom 选项。上面的界面中可以看到我们的在 Notepad++ 中使用的选项。https://www.isharkfly.com/t/no…

Buddy编译器概述

Buddy编译器概述 Buddy编译器是一个特定于领域的编译器基础结构。使用buddy作为名称,希望构建一个buddy系统,帮助用户轻松设计、实现和评估特定领域的编译器。 Buddy Compiler社区是一个开源社区,在这里通过合作探索有趣的功能并实现编译器基础设施的想法 Buddy Compiler As…