14、SQL注入——HTTP文件头注入

news2024/11/23 19:01:53

文章目录

  • 一、HTTP Header概述
    • 1.1 HTTP工作原理
    • 1.2 HTTP报文类型
    • 1.3 较重要的HTTP Header内容
  • 二、HTTP Header注入
    • 2.1 HTTP Header注入的前提条件
    • 2.2 常见的HTTP Header注入类型

一、HTTP Header概述

1.1 HTTP工作原理

在这里插入图片描述

1.2 HTTP报文类型

(1)请求报文
由客户端发给服务器得消息,其组成包括请求行、请求头域和请求体。
在这里插入图片描述
HTTP请求方法

  • GET :请求指定得页面信息,并返回实体主体。
  • HEAD:类似GET请求,只不过返回得响应中没有具体内容,用户获取报头。
  • POST:向指定资源提交数据进行处理请求(例如提交表单或上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立或已有资源的修改。
  • PUT:从客户端向服务器传送的数据取代指定的文档内容。
  • DELETE:请求服务器删除指定的页面。
  • CONNECT:HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • OPTIONS:允许客户端查看服务器的性能。
  • TRACE:回显服务器收到的请求,主要用于测试或诊断。
  • PATCH:是对PUT方法的补充,用来对已知资源进行局部更新。

(2)响应报文
由服务器回复给客户端得消息,其组成包括状态行、响应头域和响应体。
在这里插入图片描述
在这里插入图片描述

  • 文件夹存在响应码:403,文件夹不存在响应码:404
  • 文件存在响应码:200,文件不存在响应码:404
  • 3XX:跳转,判断可有可无(不能放过)。
  • 5XX:内部错误、服务器问题,判断可有可无(不能放过)。

1.3 较重要的HTTP Header内容

  • User-Agent:使服务器能够识别客户端使用的操作系统、浏览器版本等(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等)。
  • Cookie:网站为了辨别用户身份、进行seesion跟踪而存储在用户本地终端上的数据(通常经过加密)。
  • Host:客户端指定自己想访问的web服务器的域名/IP地址和端口号。
  • X-Forwarded-For:简称XXF头,它代表客户端(即HTTP的请求端)真实的IP(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库或某文件,通过修改XXF头可以实现伪造IP)。
  • Client-IP:同上。
  • Referer:浏览器向web服务器表明自己是从哪个页面链接过来的。

二、HTTP Header注入

后台开发人员为了验证客户端HTTP Header(比如常用的Cookie验证等)或者通过HTTP Header头信息获取客户端的一些信息(比如User-Agent、Accept字段等),会对客户端HTTPHeader进行获取并使用SQL语句进行处理,如果此时没有足够的安全考虑,就可能导致基于HTTP Header的注入漏洞。

2.1 HTTP Header注入的前提条件

  • 能够对请求头信息进行修改
  • 修改的请求头信息能够带入数据库执行
  • 数据库没有对输入的请求头做过滤

2.2 常见的HTTP Header注入类型

(1)Cookie注入
常见场合:服务器对cookie字段进行获取,以验证客户端的身份。
在这里插入图片描述

(2)Referer注入
常见场合:服务器记录referer字段用于统计网站的点击量。
在这里插入图片描述

(3)User-Agent注入
常见场合:1)服务器记录访问者的信息,如浏览器版本、操作系统版本等;2)服务器根据User-Agent提供的信息来给客户端推送不同的网页。
在这里插入图片描述
User-Agent注入的sql语句一般使用insert语句,例如sqli-labs的Less-18后端语句:
inset into security.uagents('uagent','ip_address','username') values ('$uagent','$ip','$uname')
其实也可以根据报错信息来判断后端语句:
在这里插入图片描述
故,注入后语句应该为:
在这里插入图片描述

(4)XFF注入
常见场合:一些网站的防注入功能会记录客户端真实IP地址并写入数据库。
在这里插入图片描述

可以在原时的HTTP请求包中添加头部字段X-Forwarded-For

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

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

相关文章

CrystalDiskInfo中文版(硬盘检测工具) v9.1.1.0 绿色汉化版-供大家学习研究参考

更新内容 重新支持三星SATA SSD寿命报告 增加对ZHITAI SC001的支持 新增SK hynix Gold S31支持 增加了KLEVV NEO N610的支持。 改进的Micron/Crucial SATA SSD支持 已更改 卸载程序将显示一个确认对话框,用于删除设置。 强大功能 1.拥有多国语言,…

element中el-select多选v-model是对象数组

文章目录 一、问题二、解决三、最后 一、问题 element中的el-select的v-model一般都是字符串或者字符串数组,但是有些时候后端接口要求该字段要传对象或者对象数组,如果再转换一次数据,对于保存配置和回显都是吃力不讨好的事情。如下所示&am…

Linux--学习记录(2)

解压命令: gzip命令: 参数: -k:待压缩的文件会保留下来,生成一个新的压缩文件-d:解压压缩文件语法: gzip -k pathname(待压缩的文件夹名)gzip -kd name.gz(待解压的压缩包名&#x…

数据库版本管理框架-Flyway(从入门到精通)

一、flyway简介 Flyway是一个简单开源数据库版本控制器(约定大于配置),主要提供migrate、clean、info、validate、baseline、repair等命令。它支持SQL(PL/SQL、T-SQL)方式和Java方式,支持命令行客户端等&am…

SpringIOC之@Configuration

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

手机的隐私空间的相关知识

一、删除: 进入隐私空间: 打开手机的设置,找到隐私空间(或类似名称)选项,然后输入密码或验证方式进入隐私空间。浏览内容: 在隐私空间中,您可以浏览存储在其中的照片、视频、文件等内容。选择删除: 选择您想要删除的内容,通常可以通过长按或选中复选框的方式进行多选…

孩子都能学会的FPGA:第二十六课——用FPGA实现CIC抽取滤波器

(原创声明:该文是作者的原创,面向对象是FPGA入门者,后续会有进阶的高级教程。宗旨是让每个想做FPGA的人轻松入门,作者不光让大家知其然,还要让大家知其所以然!每个工程作者都搭建了全自动化的仿…

第二次上机测试:Javascript. (第一组)

需求:(注意在规定的时间,在自己的博客提交作品,便于统计测试的完成情况。博客题目《第二次上机测试:Javascript.》) 1、点击按钮,将图片加上边框 2、点击按钮,将图片缩小为长和宽都…

windows安装protoc、protoc-gen-go、protoc-gen-go-grpc

文章目录 一、 protoc二、protoc-gen-go三、protoc-gen-go-grpc 一、 protoc 1,下载:https://github.com/google/protobuf/releases 下载对应的protoc,注意选择windows 2,下好之后解压就行,然后把bin目录加入到环境…

无损放大神器,Topaz Gigapixel AI,让你的图像更清晰!

无论是摄影爱好者、设计师还是专业摄影师,我们都希望能够拍摄到最清晰、最细腻的图像。然而,在现实生活中,我们往往会面临图像放大后模糊失真的问题。为了解决这一难题,我们推荐一款强大的图像无损放大工具——Topaz Gigapixel AI…

2020年第九届数学建模国际赛小美赛B题血氧饱和度的变异性解题全过程文档及程序

2020年第九届数学建模国际赛小美赛 B题 血氧饱和度的变异性 原题再现: 脉搏血氧饱和度是监测患者血氧饱和度的常规方法。在连续监测期间,我们希望能够使用模型描述血氧饱和度的模式。   我们有36名受试者的数据,每个受试者以1 Hz的频率连…

对python自动生成接口测试的示例讲解

在python中Template可以将字符串的格式固定下来,重复利用。 同一套测试框架为了可以复用,所以我们可以将用例部分做参数化,然后运用到各个项目中。 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2…

GPT-4 变懒了?官方回复

你是否注意到,最近使用 ChatGPT 的时候,当你向它提出一些问题,却得到的回应似乎变得简短而敷衍了?对于这一现象,ChatGPT 官方给出了回应。 译文:我们听到了你们所有关于 GPT4 变得更懒的反馈!我…

记录 | vscode设置自动换行

右上菜单栏 -> 查看 -> 打开自动换行 或者还有种方式,如下, 左下角小齿轮,点击设置 然后输入 Editor: Word Wrap ,把开关打开为 on

web前端开发html/css练习

目标图&#xff1a; 素材&#xff1a; 代码&#xff1a; <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml"…

【ET8】2.ET8入门-ET框架解析

菜单栏相关&#xff1a;ENABLE_DLL选项 ET->ChangeDefine->ADD_ENABLE_DLL/REMOVE_ENABLE_DLL 一般在开发阶段使用Editor时需要关闭ENABLE_DLL选项。该选项关闭时&#xff0c;修改脚本之后&#xff0c;会直接重新编译所有的代码&#xff0c;Editor在运行时会直接使用最…

【Vue3+Ts项目】硅谷甄选 — 路由配置+登录模块+layout组件+路由鉴权

一、路由配置 项目一共需要4个一级路由&#xff1a;登录&#xff08;login&#xff09;、主页&#xff08;home&#xff09;、404、任意路由&#xff08;重定向到404&#xff09;。 1.1 安装路由插件 pnpm install vue-router 1.2 创建路由组件 在src目录下新建views文件…

STM32F1之CAN介绍

目录 ​编辑 1. CAN 是什么&#xff1f; 2. 总线拓扑图 3. CAN 的特点 4. CAN 协议的基本概念 1. CAN 是什么&#xff1f; CAN 是 Controller Area Network 的缩写&#xff08;以下称为 CAN&#xff09;&#xff0c;是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产…

FPGA时序分析与约束(0)——目录与传送门

一、简介 关于时序分析和约束的学习似乎是学习FPGA的一道分水岭&#xff0c;似乎只有理解了时序约束才能算是真正入门了FPGA&#xff0c;对于FPGA从业者或者未来想要从事FPGA开发的工程师来说&#xff0c;时序约束可以说是一道躲不过去的坎&#xff0c;所以这个系列我们会详细介…

vertica主键列能插入重复值的处理办法

问题描述 开发同事反馈在vertica中创建含主键列的表中插入重复数据时没有进行校验&#xff0c;插入重复值成功。经过测试着实可以插入重复值&#xff0c;这个坑有些不一样。 创建表和插入语句如下&#xff1a; --创建表 CREATE TABLE dhhtest(ID VARCHAR(64) PRIMARY KEY );…