【web安全】——HTTP请求头注入

news2024/11/25 22:59:18

作者名:Demo不是emo

主页面链接: 主页传送门

创作初心: 舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷

座右铭: 不要让时代的悲哀成为你的悲哀

专研方向: web安全,后渗透技术

每日emo:若在许我少年时,一两黄金一两风

今天给大家讲解的是SQL注入中的http请求头注入,这种注入方式平时用的非常多,上次看别人面试时遇到了,就再来深究一下,研究其中的原理,利用方式等等

一、HTTP请求头

1、HTTP介绍

HTTP,超文本传输协议)是访问万维网使用的核心通信协议,也是今天所有Web应用程序使用的通信协议。最初,HTTP只是一个为获取基于文本的静态资源而开发的简单协议,后来人们以各种形式扩展和利用它.使其能够支持如今常见的复杂分布式应用程序。

HTTP使用一种用于消息的模型:客户端送出一条请求消息,而后由服务器返回一条响应消息。该协议基本上不需要连接,虽然HTTP使用有状态的TCP协议作为它的传输机制,但每次请求与响应交换都会自动完成,并且可能使用不同的TCP连接。

TCP就是一种传输协议,就像HTTP协议一样,HTTP的目的是指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应,而TCP的目的是为了确保数据传输的可靠性,我给你一个数据包,你一定就要收到,收不到的话那么我就会给你重发,直到我超时放弃你了。

HTTP是建立在TCP之上的,当你建立起TCP连接之后,在上面传输的数据用的是HTTP协议

2、HTTP请求头介绍

所有HTTP消息(请求与响应)中都包含一个或几个单行显示的消息头(header),然后是一个强制空白行,最后是消息主体(可选)。以下是一个典型的HTTP请求:

3、请求方式

GET就是请求方式,那么请求方式有很多种

4、消息头介绍

GET后面的/代表路径,HTTP/1.1代表HTTP的版本。

HOST表示请求的服务器网址

Connection表示持久的客户端与服务连接

Cache-Control表示缓存开关

sec-ch-ua可以理解用来替代user-agent的,用sec-ch-ua可以防止泄露浏览器详细信息

sec-ch-ua-mobile表示浏览器名称和版本

sec-ch-ua-platform表示操作系统名称

Upgrade-Insecure-Requests 请求头向服务器发送一个客户端对HTTPS加密和认证响应良好,在https页面中,如果调用了http资源,那么浏览器就会抛出一些错误。为了改变成这一状况,chrome(谷歌浏览器)会在http请求中加入 'Upgrade-Insecure-Requests: 1' ,服务器收到请求后会返回 "Content-Security-Policy: upgrade-insecure-requests" 头,告诉浏览器,可以把所属本站的所有 http 连接升级为 https 连接。

User-Agent表示发出请求的用户信息

Accept表示指定客户端能够接收的内容类型

Sec-Fetch-Site表示一个请求发起者的来源与目标资源来源之间的关系

Sec-Fetch-Mode该请求头表明了一个请求的模式

Sec-Fetch-Dest表示请求的目的地,即如何使用获取的数据

Sec-Fetch-User取值是一个Boolean类型的值,true(?1)表示导航请求由用户激活触发(鼠标点击/键盘),false(?0)表示导航请求由用户激活以外的原因触发

Accept-Encoding指定浏览器可以支持的web服务器返回内容压缩编码类型。

Accept-Language浏览器可接受的语言

Cookie 就是一段字符串,是浏览器保存服务器返回数据的方法,通常保存用户身份信息

X-Requested-With用于判断客户端请求是那种请求

referrer是HTTP请求header的报文头,用于指明当前流量的来源参考页面。通过这个信息,我们可以知道访客是怎么来到当前页面的。

5、HTTP响应

HTTP响应是什么意思,当我们从浏览器发出请求的时候,服务器接收到请求,会给客户端进行响应。那么这个响应就是HTTP响应。

那么响应重点就是看第一行和响应的正文,

第一行HTTP/1.1代表的是HTTP的版本 200 是响应码 OK就代表响应成功

响应示例中的其他一些要点如下:

Server消息头中包含一个旗标,指明所使用的Web服务器软件。有时还包括其他信息.如所安装的模块和服务器操作系统。其中包含的信息可能并不准确。

Set-Cookie消息头向浏览器发送另一个cookie.它将在随后向服务器发送的请求中由Cookie消息头返回。

Pragma消息头指示浏览器不要将响应保存在缓存中。Expires消息头指出响应内容已经过期.因此不应保存在缓存中。当返回动态内容时常常会发送这些指令,以确保浏览器随时获得最新内容。

Content-Type消息头示这个消息主体中包含一个HTML文档。

Content-Length消息头规定消息主体的字节长度。

以下图就是响应正文

二、常见HTTP头注入

1、UA头注入

UA头注入,就是注入HTTP请求头中的Useragent。那么该怎么进行注入呢。如下这个语句就是一个常见的UA头注入方式

User-Agent: ' and updatexml(1,concat('~',database()),1) and '

2、Referer注入

Referer:当你访问一个网站的时候,你的浏览器需要告诉服务器你是从哪个地方访问服务器的。(直接输入网址或者其他页面中的链接点进来的)。

注入方式如下

Referer: ' and updatexml(1,concat('~',database()),1) and '

3、Cookie注入

Cookie 就是一段字符串,是浏览器保存服务器返回数据的方法,通常保存用户身份信息。是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息

session当访问服务器否个网页的时候,会在服务器端的内存里开辟一块内存,这块内存就叫做session,而这个内存是跟浏览器关联在一起的。这个浏览器指的是浏览器窗口,或者是浏览器的子窗口,意思就是,只允许当前这个session对应的浏览器访问,就算是在同一个机器上新启的浏览器也是无法访问的。而另外一个浏览器也需要记录session的话,就会再启一个属于自己的session。也称为会话控制。

和上面的语句也差不多

Cookie:user=admin ' and updatexml(1,concat('~',database()),1) and '

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

uni-app开发常用点

前言 应该会不定时更新,主要记录自己在uni-app开发过程中经常用到的东西。 组件库推荐: 1、https://v1.uviewui.com/ 我们老项目用到是这个的1.x版本,新版本没用过 2、https://vant-contrib.gitee.io/vant/v2/#/zh-CN/ 3、https://uniapp.d…

智能在线客服系统源码 国际版多语言多商户智能机器人源码

一套智能在线客服系统源码 多商户网页客服系统源码 支持二十种国际语言 带机器人自动回复。 框架:Thinkphp5workerman, 环境:nginxphp7.3mysql5.6 支持H5公众号APP小程序 私信了解更多源码内容! 系统功能特点: 1、…

k8s创建数据库

参考配置1 [rootk8s-master1 ~]# cat deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:labels:app: mysql #为该Deployment设置key为app,value为mysql的标签name: mysqlnamespace: test spec:replicas: 1 #副本数量selector: #标签选择器&#xf…

深挖你拥有的东西的背后的价值到底是什么,价值转换模型分析。

深挖你拥有的东西的背后的价值到底是什么。 我们先把它转换成为观众观看这条视频的动机,甚至是观众关注账号的动机。 例如你能帮助别人赚钱,你能帮助别人变美。你提供的价值是成长的价值,你提供的价值是精神追求的价值,是生活理念…

【ROS】—— ROS常用组件—rosbag与rqt工具箱(十二)

文章目录前言1. rosbag1.1 rosbag使用_命令行2. rosbag使用_编码2.1 C实现2.1.1 写bag2.1.2 读bag2.2 python实现2.2.1 写bag2.2.2 读bag3. rqt工具箱3.1 rqt安装启动与基本使用3.2 rqt常用插件:rqt_graph3.3 rqt常用插件:rqt_console3.4 rqt常用插件:rqt_plot3.5 rqt常用插件:…

python算法与数据结构2-栈、队列、排序算法

目录1、栈1.1 栈的介绍1.2 栈的代码实现2、队列2.1 队列的介绍2.2 队列的代码实现3、双端队列4、数据结构与算法_排序算法4.1 排序算法的稳定性4.2 冒泡排序4.3 选择排序4.4 插入排序4.5 快速排序1、栈 1.1 栈的介绍 栈:运算受限的线性表,其限制是仅允…

黑盒测试用例设计 - 功能图法

目录功能图法原理介绍功能图法步骤案例:以QQ登录界面为例功能图法原理介绍 功能图方法其实是一种灰盒测试(因其兼有黑盒和白盒测试)用例设计方法;通常情况一个程序的功能说明通常由动态说明和静态说明组成,动态说明描…

UG/NX 二次开发(C#)自动出2D零件图思路

一、前言 项目需要自动出2D零件图,可是我之前没做过这方面的内容,没有一点思路。然后我就做了下面几件事: 1、百度、google翻了一遍,搜索关键字“UG二次开发自动出图” 2、csdn.com 和 cnblogs.com翻了一遍 3、平时逛的qq技术…

数字图像处理(第四版)-冈萨雷斯-学习过程的笔记

作者介绍1.绪论自己读书存在一个问题,书太厚,重点难以把握,对如此经典的书籍,希望自己的学习历程和重点记录下来。 目前在持续更新和学习中,觉得有帮助的话可以先收藏和关注我博客的内容--更新于2023/1/102.数字图像基…

C语言进阶——自定义类型——结构体

目录 一. 结构体类型的声明 结构体的声明 特殊的声明 二. 结构的自引用 三. 结构体变量的定义和初始化 定义 初始化 四. 结构体内存对齐 未完待续 一. 结构体类型的声明 结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以…

08-Alibaba微服务组件Nacos配置中心实战源码分析

Nacos配置中心源码分析 Config相关配置 Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是DEFAULT_GROUP 配置中心的架构 nacos config client源码分析 获取配置 获取配置的主要方…

windows配置java环境

windows配置java环境下载JDK安装JDK配置环境变量java9及以上版本配置环境变量(以java17为例,只需要配置JAVA_HOME和Path变量)配置JAVA_HOME变量配置Path变量java8及以下版本配置环境变量(以java8为例,需要配置JAVA_HOM…

Unity官方本地化插件localization

官方文档地址:https://docs.unity3d.com/Packages/com.unity.localization1.0/manual/QuickStartGuideWithVariants.html 使用流程 安装 PackageManager搜索Localization完成对应插件的安装 配置 PlayerSetting->Localization 创建本地化相关配置 创建之后点…

python的安装以及pycharm的配置

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页:lqj_本人的博客_CSDN博客-微信小程序,html特效,vue2基础领域博主 哔哩哔哩欢迎关注:小淼前端 小淼前端的个人空间_哔哩哔哩_bilibili 本篇文章主要讲述python的安装以及pych…

【Linux】小程序进度条

目录回车换行问题日常中的换行代码中的回车换行倒计时函数进度条回车换行问题 日常中的换行 即: 回车:回到当前行的最开始 换行:列不变,新起一行 代码中的回车换行 我们先看一段代码: 这个是带\n的 🌍结…

什么是运动神经元 你们真的知道吗

大家好,你们知道什么运动神经元吗,你们有误入这些误区吗? 运动神经元是一种神秘的疾病,导致的原因尚且不明确。这种疾病的发生可能是体内的运动神经元细胞的减少或是凋亡导致的,是一种慢性发展的神经类疾病。虽然导致运…

【晶振】NTP网络校时服务器(卫星时钟)电路里的主心跳

【晶振】NTP网络校时服务器(卫星时钟)电路里的主心跳 【晶振】NTP网络校时服务器(卫星时钟)电路里的主心跳 晶振是NTP网络校时服务器(卫星时钟)电路板数字电路的"心跳",在…

阿狸(Hans设计卡通形象)的幸福生活 ---- 充满趣味性(可自定义更改)

Ali the fox 目录 一、前言 二、关于代码 三、效果展示 四、详细介绍 五、编码实现 index.html css 文件夹 88rh.css js 文件夹 img 文件夹 fonts 文件夹 六、获取源码 需要源码,可以私信我(⊙o⊙)?关注我? 一、前言 时光荏苒&…

MyBatis­Plus快速入门

介绍 MyBatisPlus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 特性: 无侵入:只做增强不做改变,引入它不会对现有工程产生影响&#xf…

冰冰学习笔记:异常处理

欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…