当前位置: 首页 > news >正文

知识点汇集-web

1.http请求头各字段含义及作用:
常见的 HTTP 请求头字段包括:
Host、User-Agent、Accept、Accept-Encoding、Accept-Language、Connection、Cookie、Referer、Content-Type、Content-Length、Authorization、Cache-Control、Pragma、Upgrade-Insecure-Requests 等。
各请求字段的作用及含义是什么
以下是常见 HTTP 请求头字段的作用及含义,按功能分类说明:

  1. 标识目标服务器
    Host
    作用:指定请求的服务器域名(或 IP)和端口号。
    含义:HTTP/1.1 强制要求,用于在同一服务器上托管多个域名(虚拟主机)时,区分目标网站。
    示例:Host: www.example.com 或 Host: api.example.com:8080
  2. 客户端信息与偏好
    User-Agent
    作用:标识发起请求的客户端(浏览器、爬虫、程序等)信息。
    含义:服务器可根据该字段返回适配客户端的内容(如移动端 / PC 端页面)。
    示例:User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/114.0.0.0 Safari/537.36(Chrome 浏览器)
    Accept
    作用:告知服务器客户端能接受的 媒体类型(数据格式)。
    含义:服务器根据此字段返回最合适的格式(如 HTML、JSON 等),优先级用 q 参数表示(0~1,默认 1)。
    示例:Accept: text/html, application/json; q=0.8(优先 HTML,其次 JSON)
    Accept-Encoding
    作用:指定客户端支持的 数据压缩算法。
    含义:服务器可对响应内容压缩(如 gzip),减少传输带宽。
    示例:Accept-Encoding: gzip, deflate, br(支持 gzip、deflate、brotli 压缩)
    Accept-Language
    作用:告知服务器客户端能接受的 自然语言(如中文、英文)。
    含义:服务器可返回对应语言的内容(如多语言网站的本地化)。
    示例:Accept-Language: zh-CN, zh; q=0.9, en; q=0.8(优先简体中文,其次中文、英文)
  3. 连接与缓存控制
    Connection
    作用:控制请求连接的状态(持久连接或关闭)。
    含义:keep-alive 表示保持连接(HTTP/1.1 默认),可复用连接发送多个请求;close 表示请求后关闭连接。
    示例:Connection: keep-alive
    Cache-Control
    作用:指定客户端的 缓存策略,控制响应内容的缓存行为。
    含义:常见值包括 no-cache(不缓存,需验证)、max-age=3600(缓存 3600 秒)、no-store(完全不缓存)。
    示例:Cache-Control: max-age=86400(缓存 1 天)
    Pragma
    作用:HTTP/1.0 遗留字段,主要用于兼容旧版本的缓存控制。
    含义:最常用 Pragma: no-cache,效果类似 Cache-Control: no-cache(不缓存,需向服务器验证)。
  4. 身份与会话管理
    Cookie
    作用:客户端向服务器发送之前存储的 Cookie 数据。
    含义:用于身份认证、会话跟踪(如登录状态)、个性化设置等,数据由服务器通过 Set-Cookie 响应头设置。
    示例:Cookie: sessionid=abc123; user=admin
    Authorization
    作用:携带身份验证信息,用于访问受保护的资源。
    含义:常见认证方式:
    Basic :用户名密码经 Base64 编码(明文风险,不推荐);
    Bearer :携带 JWT 等令牌(OAuth2.0 常用)。
    示例:Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…
  5. 请求体相关(POST/PUT 等方法)
    Content-Type
    作用:说明请求体(body)的 数据格式。
    含义:服务器根据此字段解析请求体,常见类型:
    application/x-www-form-urlencoded:表单默认格式(键值对);
    multipart/form-data:用于文件上传(需配合 boundary 分隔符);
    application/json:JSON 格式数据;
    text/plain:纯文本。
    示例:Content-Type: application/json
    Content-Length
    作用:指定请求体的 字节长度。
    含义:服务器通过该字段判断请求体是否完整接收(适用于非分块传输)。
    示例:Content-Length: 1024(请求体大小为 1024 字节)
  6. 其他常用字段
    Referer
    作用:指示当前请求的 来源页面 URL。
    含义:服务器可用于统计流量来源(如用户从哪个页面跳转)、防盗链(限制非白名单来源的请求)。
    示例:Referer: https://www.google.com/search?q=example
    Upgrade-Insecure-Requests
    作用:客户端(通常是浏览器)请求服务器将 HTTP 链接升级为 HTTPS。
    含义:值为 1 时,服务器会优先返回 HTTPS 资源,减少不安全的 HTTP 请求。
    示例:Upgrade-Insecure-Requests: 1
    7.x-forwarded-for:记录客户端的原始 IP 地址,以及请求经过的各级代理服务器的 IP 地址

2…htaccess 是 Apache 服务器上的一个分布式配置文件,用于实现目录级别的配置管理。它可以在不修改服务器主配置文件(httpd.conf)的情况下,对特定目录(及子目录)的服务器行为进行设置,非常适合虚拟主机、共享主机等无法直接修改主配置的场景。请求中配置

.htaccess文件是php的解析文件,根据文件写的规则,会把相应的东西当作php来执行
<FilesMatch “haha”>
SetHandler application/x-httpd-php

所有文件名中包含“haha”字样的文件都当作php来执行 (先传.htaccess,)再传h.haha等

在这里插入图片描述
3.tee 是 Linux/Unix 系统中一个常用的命令行工具,主要功能是 从标准输入读取数据,同时将数据输出到标准输出(屏幕)和一个或多个文件。它的名字源自管道中的 “T 型接头”,形象地表示 “一分二” 的数据流处理方式。
在这里插入图片描述
4.tac 是 Linux/Unix 系统中一个按行倒序输出文件内容的命令,是 cat 命令的 “反向操作”(名字反过来就是 cat),主要用于逆序查看文本文件(如日志、配置文件等)。
在这里插入图片描述
5.PseudoProtocols 中文可译为 “伪协议”,指的是在特定环境(如编程语言、框架或软件)中定义的非标准协议,用于访问或处理特定类型的资源(如文件、数据流、内存数据等),但并非真正意义上的网络传输协议(如 HTTP、FTP 等)。
伪协议的核心特点是:
不依赖网络传输,主要用于本地资源访问或数据处理;
通常由特定语言、工具或系统自定义,仅在其环境内生效;
功能上类似 “协议”(通过特定格式标识资源),但不遵循网络协议的标准规范。
在这里插入图片描述
在这里插入图片描述
伪协议的核心是利用特定环境的资源访问规则,实现文件读取、代码执行、内网探测等功能。在安全领域,伪协议常被用于漏洞利用(如文件包含、SSRF),但合法场景下也可简化资源处理(如浏览器 data:// 嵌入图片)。使用时需注意环境限制(如 PHP 配置、服务器权限),并警惕恶意滥用。

6.file_get_contents 是 PHP 中一个非常常用的内置函数,主要用于读取文件或各种资源的内容,并以字符串形式返回。它的功能灵活,支持本地文件、网络资源、PHP 伪协议等多种类型的资源读取,是处理文件和数据流的核心工具之一。
核心作用:从指定的资源中读取内容,返回读取到的字符串(读取失败时返回 false)。
这里的 “资源” 可以是:
本地文件(如 /etc/passwd、./test.txt);
网络资源(如 http://example.com、ftp://ftp.example.com/file.txt);
PHP 伪协议(如 php://input、data://、php://filter 等,常用于 Web 安全场景)。
在这里插入图片描述
在这里插入图片描述
file_get_contents 是 PHP 中处理资源读取的高效工具,既能读取本地文件和网络内容,也能结合伪协议实现灵活的数据流处理。但在使用时需注意配置限制、权限和安全风险,尤其当参数来自用户输入时,必须进行严格校验,避免被恶意利用。

7.绕过方法:
用变量替代空格(无需 \ 转义):
Linux 中的 IFS(内部字段分隔符)可直接替代空格,且无需转义。示例:catIFS(内部字段分隔符)可直接替代空格,且无需转义。 示例:catIFS(内部字段分隔符)可直接替代空格,且无需转义。示例:catIFSflag.txt(等价于 cat flag.txt)
进阶:IFS、{IFS}、IFSIFS$1(增加混淆,避免被规则匹配)。
用引号包裹特殊字符(无需 \ 转义):
若 ;、| 等被过滤,但引号(’ 或 “)未被禁,可用引号包裹绕过。
示例:cat flag.txt”|"whoami(用双引号包裹 |,等价于 cat flag.txt|whoami)。
利用编码绕过:
将特殊字符转为 URL 编码或十六进制,若后端会自动解码,则可绕过 \ 过滤。
示例:空格的 URL 编码为 %20,则 cat%20flag.txt 等价于 cat flag.txt。

常用的空格绕过方法

$IFS              $IFS$6                               ——后面的数字6换成其他数字也行${IFS} <<>{cat,flag.php}                      ——这里把,替换成了空格键%20                                     ——代表space键%09                                     ——代表Tab键

8.在 SQL 注入中,“闭合方式” 指的是通过注入特殊符号(如引号、括号等),闭合原 SQL 语句中包裹参数的符号,从而将用户输入的恶意 SQL 代码拼接进原语句并执行。核心是破坏原语句的语法结构,使其执行注入的逻辑。
在这里插入图片描述

在这里插入图片描述

核心原则
判断闭合类型:通过输入 '、"、) 等符号,观察是否出现 SQL 语法错误(如 You have an error in your SQL syntax),从而确定原语句的包裹符号。
注释多余内容:闭合后需用注释符(–+、#、/* / 等)忽略原语句后续的符号(如剩余的引号、括号),避免语法错误。
适配数据库:不同数据库注释符可能不同(如 Oracle 不支持 #,需用 – 或 /
*/),需灵活调整。
通过以上方式,可将恶意 SQL 代码注入原语句,实现查询敏感数据、修改数据甚至控制数据库等操作(仅限授权测试)。

9.or 对应的16进制:276f7227

ffifdyop字符串,MD5加密之后会变成276f7227 36c95d99e921722cf9ed621c
字符串前几位刚好是 ‘ or ‘6

10.“0e 绕过” 是 Web 安全中常见的一种绕过技巧,主要利用了 PHP 等语言中弱类型比较的特性,核心与 “0e” 开头的字符串在数值上下文的解析规则有关。
在这里插入图片描述
以下字符串经过md5函数后以’0e’开头:

QNKCDZO

240610708

s878926199a

s155964671a

s1091221200a

s1665632922a

11.在 Web 安全中,“数组绕过” 是一种利用服务器对输入类型处理不当(尤其是未严格校验参数是否为数组)而实现的绕过技巧,常见于 PHP 等弱类型语言的应用中。其核心原理是:当服务器预期接收字符串 / 数值类型的参数时,若攻击者传入数组类型,可能导致某些校验函数失效或返回非预期结果,从而绕过验证逻辑。
在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/623414.html

相关文章:

  • Spring 源码学习(十一)—— webmvc 配置
  • 项目发布上线清单
  • 如何在Windows系统中更改用户名(中文转英文全流程)
  • LeetCode 837.新 21 点:动态规划+滑动窗口
  • 【运维进阶】实施任务控制
  • C语言---第一个C语言程序
  • 12.web api 3
  • 网格布局 CSS Grid
  • 【C语言强化训练16天】--从基础到进阶的蜕变之旅:Day6
  • k8s集群搭建一主多从的jenkins集群
  • 锂电池SOH预测 | Matlab基于KPCA-PLO-Transformer-LSTM的的锂电池健康状态估计(锂电池SOH预测),附锂电池最新文章汇集
  • 网络原理与编程实战:从 TCP/IP 到 HTTP/HTTPS
  • 《详解 C++ Date 类的设计与实现:从运算符重载到功能测试》
  • KingbaseES:一体化架构与多层防护,支撑业务的持续稳定运行与扩展
  • Manus AI 与多语言手写识别技术剖析
  • 整体设计 之“凝聚式中心点”原型 --整除:智能合约和DBMS的深层联合 之1
  • 第三十九天(WebPack构建打包Mode映射DevTool源码泄漏识别还原)
  • 大模型提示词(Prompt)终极指南:从原理到实战,让AI输出质量提升300%
  • 朝花夕拾(四) --------python中的os库全指南
  • 《算法导论》第 27 章 - 多线程算法
  • -nostartfiles参数官方解释,含义
  • 【远程桌面】从RustDesk服务器看UDP对比WebRTC
  • Rust:实现仅通过索引(序数)导出 DLL 函数的功能
  • Node.js导入MongoDB具体操作
  • Kafka 面试题及详细答案100道(23-35)-- 核心机制2
  • 【前端面试题】前端面试知识点(第三十一题到第六十一题)
  • 计算机毕设选题推荐-基于大数据的全面皮肤病症状数据可视化分析系统【Hadoop、spark、python】
  • day42_2025-08-16
  • ArrayList的contains问题
  • 大模拟 Major