http详解

一、http 协议详解

1. 中间件服务器

浏览器与服务器之间不熟,不知道是什么请求所以需要apache、nginx、tomcat 做中间人做翻译然后进行转发

2. 网页

2.1 静态网页

不与数据库做交互,没有后端代码参与的网页

2.2 动态网页

与数据库做交互,有后端代码参与的网页

3. HTTP协议

分为两块:浏览器去往服务器的包request(请求)和服务器发回给浏览器的包response(响应)

传输速度快

https比http多了一层加密(ssl)

使用bp抓包,http请求包的请求正文可以观看,但是https的请求正文时一堆乱码

4. URL

Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL(Uniform Resource Locator, 统一资源定位器)。它是www的统一资源定位标志,简单地说URL就是web地址,俗称“网址”。

URL是对互联网上得到的资源的位置和访问方法的一种简洁表示,是互联网上标准资源的地址。URL它具有全球唯一性,正确的URL应该是可以通过浏览器打开此网页的,但如果您访问外网,会提示网页无法打开,这并不能说明这个URL是错误的。只不过在国内不能访问而已。

http://127.0.0.1/pikachu-master/vul/burteforce/bf_form.php
schema://login:password@address:port/path/to/resource/? query_string#fragment

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TB6hSSkJ-1692751843350)(%E6%96%B0%E5%BB%BA%E6%96%87%E6%9C%AC%E6%96%87%E6%A1%A3.assets/clip_image004.jpg)]

login和password已经废弃,因为会将用户名和密码明文显现在链接中不安全。

URL 编码 ,URL 所允许出现的字符是有限制的。URL 中从path 开始只允许出现 A-Za-z0-9,半角减号(-),下划线(_),句点(.),波浪号(~)。其他字符均会被URL 编码 (编码规则)

URL编码
防止扰乱数据包的正常发送
URL 之所以需要编码,是因为 URL 中的某些字符会引起歧义,比如 URL 查询参数中包含了”&”或者”%”就会造成服务器解析错误;再比如,URL 的编码格式采用的是 ASCII 码而非 Unicode 格式,这表明 URL 中不允许包含任何非 ASCII 字符(比如中文),否则就会造成 URL 解析错误。
URL特殊字符编码

字符含义十六进制值编码
+URL 中 + 号表示空格%2B
空格URL中的空格可以编码为 + 号或者 %20%20
/分隔目录和子目录%2F
?分隔实际的 URL 和参数%3F
%指定特殊字符%25
#表示书签%23
&URL 中指定的参数间的分隔符%26
=URL 中指定参数的值%3D

5. 请求报文分析

HTTP 请求由请求行、请求头、请求正文三个部分组成

5.1 请求行:

HTTP 报文的第⼀行,由空格字符分成三部分

image-20230814192526321

请求方法:

方法描述
GET请求指定的页面信息,并返回实体主体。
POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立 和/或 已有资源的修改。

5.2 请求头

从请求报文第⼆行开始到第⼀个空行为止之间的内容,请求头中的内容不可打乱顺序和随意修改内容,会导致服务器不能响应

字段含义
Host指定被请求资源的服务器的地址和端口
User-Agent用户客户端的浏览器的内核
Content-Type标识传输给对方服务器的数据的类型
Referer包含一个URL ,代表当前URL的上一个URL;从哪个页面跳转到的这个页面
Cookie令牌;身份认证
Accept-Charset用于指定浏览器啊接受的字符集
Content-length用于指明实体正文的长度,以字节方式存储的十进制数字来表示
Last-Modified用于指示资源的最后修改时间
  • User-Agent:使用nmap扫描时User-Agent中展示的是nmap(强特征)或者是nmap指定的选项参数(弱特征):nmap的User-Agent参数可指定,若不指定,它的User-Agent会一直在变动,让人一眼就看出来流量不正常。

    • 某一款恶意连接工具,它的User-Agent默认有15种

    • 有源IP(攻击者IP)和目的IP(受害者IP):查找所有和源IP有关的流量,如果来自源IP的UA一直在变(一秒钟变换多次)可判定为攻击流量

  • cookie:cookie值可变,能够实现越权

image-20230814184950204

5.3 请求正文

第⼀个空行开始以后的所有内容主要包括POST传参

6. 响应报文分析

响应报文由状态行、响应报头、响应正文三部分组成

6.1 状态行

响应报文的第⼀行

响应状态码:判断当前请求报文是否被正确响应

6.2 状态码

(https://cloud.tencent.com/developer/chapter/13553)查看状态码详细信息

状态代码类型
1xx信息性状态码
2xx成功状态码,对方响应信息了
3xx重定向状态码
4xx客户端错误状态码
5xx服务器错误状态码

200:不一定就是成功连接到对方,如果对方网站中有一台WAF,向对方服务器中上传木马,被WAF拦截,对方发送来一条响应说你的入侵失败或者说登录网页失败,返回给我们相应包,这个响应包成功发送给我,状态码显示200,但是我们上传木马失败了或登陆网页失败了。

403:服务器理解请求但拒绝授权

404:服务器找不到请求的资源

6.3 响应报头

响应报文第二行开始到第⼀个空行为止的所有内容,其中包含了关于HTTP响应的重要字段。

6.4 响应报文

响应报文从第⼀个空行开始到最后的所有内容。 服务器返回资源的内容,即浏览器接 收到的HTML 代码

6.5 内容

Set-Cookie:设置cookie

字段含义
Data时间个日期
ServerWeb服务器指纹
Last-Modified服务器通过这个头信息告诉浏览器,资源的最后修改时间
Content-Length响应正文长度
Content-Type响应正文类型
Set-Cookie向浏览器端写入Cookie信息
Location重定向目标页面
Refresh服务器通过Refresh头告诉浏览器定时刷新浏览器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网安咸鱼1517

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值