首页 > 其他分享 >HTB-网络请求

HTB-网络请求

时间:2024-11-05 13:58:18浏览次数:1  
标签:标头 HTTP HTB 请求 网络 服务器 浏览器 客户端

网络请求

HTTP基础

HTTP协议

  • 大多数互联网通讯是通过http协议来进行的web请求
  • http协议是用于访问万维网资源的应用程序级的协议,http协议也被称为超文本传输协议,其中超文本代表着包含到其他资链接的文本和用户可以轻松理解的文本
  • http通信由客户端和服务器组成,其中客户端向服务器请求资源。服务器处理请求并返回请求的资源。该通信默认的端口是80端口

URL

http上的资源通过url访问

image-20241103230953710

Component ** Example** ** Description**
Scheme http:// https:// 这用于标识客户端正在访问的协议,并以冒号和双斜杠(://)结尾
User Info admin:password@ 这是一个可选组件,包含用于向主机进行身份验证的凭据(以冒号分隔),并使用at符号(@)与主机分隔
Host inlanefreight.com 主机表示资源位置。这可以是主机名或IP地址
Port :80 端口主机之间用冒号()分隔。如果未指定端口,则HTTP方案默认为端口80HTTPS默认为端口443
Path /dashboard.php 这指向正在访问的资源,可以是文件或文件夹。如果没有指定路径,服务器返回默认索引(例如index.html
Query String ?login=true 查询字符串以问号(),由一个参数(例如login)和一个值(例如true)组成。多个参数之间可以用&()分隔。
Fragments #status 片段由客户端的浏览器处理,以定位主要资源中的部分(例如,页面上的标题或部分)

HTTP流

image-20241104081631707

如图,用户第一次在浏览器输入URL的时候,会向DNS(域名解析)服务器发送一个请求,解析其域名获取其IP。浏览器通常在本地的/etc/host文件中查找记录。我们可以在这个文件中手动添加IP后跟域名。

当浏览器获得链接到请求域的IP地址,会向默认端口80发送请求,服务器接收并处理它,默认情况下在收到请求后返回索引文件

索引文件(举例为index.html)由web服务器读取并且作为HTTP响应返回,浏览器则呈现该内容给客户

HTTPS协议

https中的数据会作为加密流进行传输,该协议被称为安全超文本传输协议

HTTPS流

image-20241104084501303

如果我们键入http://而不是https://来访问强制执行HTTPS的网站,浏览器会尝试解析域并将用户重定向到托管目标网站的Web服务器。请求首先发送到端口80,这是未加密的HTTP协议。服务器检测到这一点,并将客户端重定向到安全HTTPS端口443。这是通过301 Moved Permanently响应代码完成的

接下来,客户端(Web浏览器)发送一个“客户端问候”数据包,给出有关其自身的信息。在此之后,服务器回复“server hello”,然后进行密钥交换以交换SSL证书。客户端验证密钥/证书并发送自己的密钥/证书。在此之后,启动加密握手以确认加密和传输是否正常工作。

HTTP请求和响应

HTTP请求

image-20241104084826513

HTTP响应

image-20241104084903330

HTTP标头

可以分为以下几种标头

  1. 通用标头
  2. 实体标头
  3. 请求标头
  4. 响应头
  5. 安全性报头

实体标头

用于描述传输的内容,通常出现在POST或者PUTi请求中

报头 例如 描述
Content-Type Content-Type:text/html 用于描述正在转移的资源类型。该值由客户端的浏览器自动添加,并在服务器响应中返回。字符集字段表示编码标准,例如UTF-8
Media-Type Media-Type: application/pdf media-type类似于Content-Type,描述了正在传输的数据。这个头在让服务器解释我们的输入时起着至关重要的作用。字符集字段也可以与此报头一起使用。
Boundary boundary="b4e4fbd93540" 当同一消息中有多个内容时,用作分隔内容的标记。例如,在表单数据中,此边界用作--b4e4fbd93540来分隔表单的不同部分。
Content-Length Content-Length: 385 保存被传递的实体的大小。这个头是必要的,因为服务器使用它从消息体读取数据,并且由浏览器和cURL等工具自动生成。
Content-Encoding Content-Encoding:gzip 数据在被传递之前可以经历多次转换。例如,可以压缩大量数据以减小消息大小。应该使用Content-Encoding标头指定所使用的编码类型。

请求标头

客户端在HTTP请求中发送的请求头

报头 例如 描述
Host Host: www.inlanefreight.com 用于指定要查询资源的主机。它可以是域名或IP地址。HTTP服务器可以配置为托管不同的网站,这些网站是基于主机名显示的。这使得主机头成为一个重要的枚举目标,因为它可以指示目标服务器上是否存在其他主机。
User-Agent User-Agent: curl/7.77.0 User-Agent头用于描述请求资源的客户端。这个头可以透露很多关于客户端的信息,比如浏览器、版本和操作系统。
Referer Referer: http://www.inlanefreight.com/ 表示当前请求来自何处。例如,单击Google搜索结果中的链接将使https://google.com成为引用者。信任这个头可能是危险的,因为它很容易被操纵,导致意想不到的后果
Accept Accept: */* Accept标头描述了客户端可以理解的媒体类型。它可以包含多个媒体类型,由逗号分隔。*/* 值表示接受所有媒体类型。
Cookie Cookie: PHPSESSID=b4e4fbd93540 包含格式为name=value的cookie值对。Cookie是存储在客户端和服务器上的一段数据,用作标识符。每个请求都将这些传递给服务器,从而维护客户端的访问。Cookie还可以用于其他目的,例如保存用户偏好或会话跟踪。在一个标头中可以有多个cookie,并由分号分隔。
Authorization Authorization: BASIC cGFzc3dvcmQK 服务器识别客户端的另一种方法。成功验证后,服务器返回客户端唯一的令牌。与cookie不同,令牌仅存储在客户端,并由服务器根据请求检索。根据所使用的Web服务器和应用程序类型,有多种身份验证类型。

响应头

报头 例如 描述
Server Server: Apache/2.2.14 (Win32) 包含有关处理请求的HTTP服务器的信息。它可用于获取有关服务器的信息(如版本),并进一步枚举它
Set-Cookie Set-Cookie: PHPSESSID=b4e4fbd93540 包含客户身份识别所需的Cookie。浏览器解析cookie并存储它们以备将来的请求。此标头遵循与Cookie请求标头相同的格式。
WWW-Authenticate WWW-Authenticate: BASIC realm="localhost" 通知客户端访问请求的资源所需的身份验证类型。

安全性报头

报头 例如 描述
Content-Security-Policy Content-Security-Policy: script-src 'self' 规定网站对外部注入资源的政策。这可以是JavaScript代码以及脚本资源。此标头指示浏览器仅接受来自某些受信任域的资源,从而防止跨站点脚本(XSS)等攻击。
Strict-Transport-Security Strict-Transport-Security: max-age=31536000 阻止浏览器通过明文HTTP协议访问网站,并强制所有通信都通过安全HTTPS协议进行。这可以防止攻击者嗅探Web流量并访问受保护的信息,如密码或其他敏感数据。
Referrer-Policy Referrer-Policy: origin 指示浏览器是否应包含通过Referer标头指定的值。它可以帮助避免在浏览网站时泄露敏感的URL和信息

HTTP方式和代码

请求方式

方法 描述
GET 请求特定资源。可以通过 URL 中的查询字符串(例如?param=value )将其他数据传递到服务器。
POST 向服务器发送数据。它可以处理多种类型的输入,例如文本、PDF 和其他形式的二进制数据。该数据附加在标头后面的请求正文中。 POST 方法通常在发送信息(例如表单/登录名)或将数据(例如图像或文档)上传到网站时使用。
HEAD 请求向服务器发出 GET 请求时将返回的标头。它不返回请求正文,通常用于在下载资源之前检查响应长度。
PUT 在服务器上创建新资源。在没有适当控制的情况下允许此方法可能会导致上传恶意资源。
DELETE 删除网络服务器上的现有资源。如果安全措施不当,删除 Web 服务器上的关键文件可能会导致拒绝服务 (DoS)。
OPTIONS 返回有关服务器的信息,例如服务器接受的方法。
PATCH 对指定位置的资源应用部分修改。

响应代码

类型 描述
1xx 提供信息且不影响请求的处理。
2xx 请求成功时返回。
3xx 当服务器重定向客户端时返回。
4xx 表示from the client不当要求。例如,请求不存在的资源或请求错误的格式。
5xx with the HTTP server本身出现问题时返回。

GET

当浏览器访问URL的时候,默认会使用GET方式来获取资源

其参数在URL中进行传参,如http://:/search.php?search=flag

GET方式主要实现搜索和访问页面

POST

当 Web 应用程序需要传输文件或从 URL 移动用户参数,使用POST方式

image-20241105134532243

标签:标头,HTTP,HTB,请求,网络,服务器,浏览器,客户端
From: https://www.cnblogs.com/schneider/p/18527724

相关文章

  • 【图神经网络】 AM-GCN代码实战(1)【pytorch】代码可运行
    AM-GCN网络系列代码实践部分1.环境设置2.代码运行指令2.1命令行执行代码2.1IDE执行(1)2.2IDE执行(2)3.参数选择4.总结代码实践部分本专栏致力于深入探讨图神经网络模型相关的学术论文,并通过具体的编程实验来深化理解。读者可以根据个人兴趣选择相关内容进行学......
  • pyspark建模(类似于dwd层),flask直接对接前端请求进行召回(类似于ads层,但是不保存)
    2.SparkMLib2.1SparkMLib开发环境准备2.1.1配置python和spark环境安装Python环境安装Anaconda3-5.2.0-Windows-x86_64.exe配置环境变量Anaconda_HOMEE:\20241014_Soft\Anaconda3PATH%Anaconda_HOME%Scripts;%Anaconda_HOME%Library\mingw-w64\bin;%Anaconda_H......
  • 300个网络安全软件和在线工具(归类版)(非常详细),零基础入门到精通,看这一篇就够了
    系统下载1、KALI安装版https://pan.quark.cn/s/483c664db4fb2、KALI免安装版https://pan.quark.cn/s/23d4540a800b3、下载所有Kali系统https://pan.quark.cn/s/7d8b9982012f4、KALI软件源https://pan.quark.cn/s/33781a6f346d5、所有Linux系统https://pan.quark.c......
  • 沙箱技术大起底:如何保护你免受网络攻击?
    前言在当今数字化时代,网络安全问题日益突出,各种恶意软件、病毒和网络攻击层出不穷。为了有效防范这些威胁,保护用户的数据安全和隐私,沙箱技术应运而生。本文将深入探讨沙箱技术的奥秘及其应用,帮助读者更好地了解这一重要的网络安全工具。沙箱技术是一种模拟计算环境的安全......
  • 中国十大网络安全公司(非常详细),零基础入门到精通,看这一篇就够了
    文章目录前言1、深信服科技股份有限公司2、奇安信3、启明星辰信息技术集团股份有限公司4、天融信(南洋股份)5、美亚柏科6、蓝盾股份7、绿盟科技8、任子行9、安恒信息10、山石网科零基础网络安全学习计划学习路线图大纲总览学习计划阶段一:初级网络安全工程师阶段二:中级or高......
  • 人脸检测之MTCNN算法网络结构
    MTCNN(Multi-taskCascadedConvolutionalNetworks)是一种用于人脸检测和关键点检测的深度学习模型,特别适合在复杂背景下识别出多尺度的人脸。它通过多任务学习来实现人脸检测和人脸关键点定位(如眼睛、鼻子、嘴巴的位置),实现高精度的人脸区域定位和关键点提取。MTCNN主要由三个......
  • 【GiraKoo】修改wsl2中的网络代理
    【GiraKoo】修改wsl2中的网络代理环境Windows10,11WSLg现象无法使用主机的网络代理原因wsl2的网络采用的是NAT模式,无法直接使用主机的网络代理。需要通过修改proxy配置,使wsl2能够使用主机的网络代理。对策在/etc/profile(或者/etc/profile.d/下的文件)中添加以下内......
  • 网络流建图汇总
    DiningG一个点有两重限制,将点放中间,两边分别放两个限制,中间点点拆点连1表示限制CTSC1999家园/星际转移问题时间限制可以分层图,分层图不需二分,直接一层层建即可企鹅游行这种有限制的拆点就完了。猪时序问题按照时间建即可。一般出现调整的可以考虑把调整的看成流量P......
  • python 实现灰色模型神经网络拟合算法
    灰色模型神经网络拟合算法介绍灰色模型神经网络拟合算法结合了灰色预测模型和神经网络的优势,用于处理样本数据量较少、信息不完全或具有不确定性的系统预测问题。以下是对该算法及其原理的详细介绍:一、灰色预测模型(GrayForecastModel)灰色预测是对既含有已知信息又含有......
  • 基于卷积神经网络的大豆病虫害识别与防治系统,resnet50,mobilenet模型【pytorch框架+pyt
     更多目标检测和图像分类识别项目可看我主页其他文章功能演示:大豆病虫害识别与防治系统,卷积神经网络,resnet50,mobilenet【pytorch框架,python源码】_哔哩哔哩_bilibili(一)简介基于卷积神经网络的大豆病虫害识别与防治系统是在pytorch框架下实现的,这是一个完整的项目,包括代码,......