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

文章目录

  • 一、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.mfbz.cn/a/231422.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

InnoDB Architecture MySQL 5.7 vs 8.0

innodb-architecture-5-7 innodb-architecture-8-0 图片均来源于MySQL官网

wireshark

今天学习一下wireshark的基础命令。 如何筛选所需要的协议:http 剔除不需要的协议:!http 过滤器,逻辑符号,多条件筛选:tcp && http 比较运算符号: 过滤IP地址: 我们可以…

大三上实训内容

项目一:爬取天气预报数据 【内容】 在中国天气网(http://www.weather.com.cn)中输入城市的名称,例如输入信阳,进入http://www.weather.com.cn/weather1d/101180601.shtml#input 的网页显示信阳的天气预报,其中101180601是信阳的…

连接Redis报错解决方案

连接Redis报错&解决方案 问题描述:Could not connect to Redis at 127.0.0.1:6379: 由于目标计算机积极拒绝,无法连接。 问题原因:redis启动方式不正确 解决方案: 在redis根目录下打开命令行窗口,输入命令redi…

合并一个文件夹下的多个txt文件,并对文本内容分列处理。

python 合并一个文件夹下的多个txt文件,并对文本内容分列。 原始文件: 最终结果: import pandas as pd import xlwt import pandas as pd from sqlalchemy import create_engine import pandas as pd import os import glob dirPath g…

《演说之禅》——笔记+原书电子版+禅宗的思维与原则

目录 演说之禅说什么思考以下:设计幻灯片步骤:禅宗的思维与原则 演说之禅说什么 “演说之禅”并非某种方法。方法是重要且必要,但世间并无万能药,方法的背后通常隐含着一个循序渐进的、系统化的过程,一个有准备的、线…

C语言趣练习:两个字符串不用strcmp函数怎么比较大小

目录 1习题一:两个字符串不用strcmp函数怎么比较大小,并输出其差值 2不用strcpy函数将s2字符串中内容复制到s1中 3译密码问题 4总结: 1习题一:两个字符串不用strcmp函数怎么比较大小,并输出其差值 解题思路&#x…

【vue+Swiper】vue中使用swiper缩略图,展示一张大图及n张小图,点击小图切换不同的大图展示,完整代码

效果: 这是在swiper官网上找的示例,swiper太强大了,有非常多不同的示例,有api,有教程,还可以下载示例代码。 但是第一次使用,研究这个缩略图的实现还是花了几个小时,好在实现了。 swiper官网…

docker学习(八、mysql8.2主从复制遇到的问题)

在我配置主从复制的时候,遇到了一直connecting的问题。 起初可能是我ip配置的不对,slave_io_running一直connecting。(我的环境:windows中安装了wsl,是ubuntu环境的,在wsl中装了miniconda,mini…

嵌入式学习---ARM时钟体系

目录 时钟相关概念时钟脉冲时钟频率时钟的作用时钟信号的生成 S3C2440的时钟体系主时钟晶振两个PLL 时钟启动流程相关的寄存器 时钟相关概念 时钟脉冲 按一定电压幅度,一定时间间隔连续发出的脉冲信号。它是一个周期性的信号,每个周期内包含一个上升沿…

【知识】如何区分图论中的点分割和边分割

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 以下两个概念在现有中文博客下非常容易混淆: edge-cut(边切割) vertex-partition(点分割)vertex-cut(点切割) edge-partition(边分割) 实际上,初看中文时,真的会搞不清楚。但…

【wpf】handycontrol growl 打造一个比弹窗优雅10倍的信息通知方式

前言 话不多说,先上图: 这种弹框不会影响主进程的脚本,同时分为四个等级: 普通消息:Info (时间一到,自动消失,除非鼠标停留上面)警告: Warning &#xff0…

基于ssm海鲜自助餐厅系统论文

摘 要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的宣传和管理就很关键。因此海鲜餐厅信息的…

SQL SELECT 语句

SELECT 语句用于从数据库中选取数据。 SQL SELECT 语句 SELECT 语句用于从数据库中选取数据。 结果被存储在一个结果表中,称为结果集。 SQL SELECT 语法 SELECT column1, column2, ... FROM table_name; 与 SELECT * FROM table_name; 参数说明: …

软件测试之接口测试自动化(详解版)

本着以和大家交流如何实现高效的接口测试为出发点,本文包含了我在接口测试领域的一些方法和心得,希望大家一起讨论和分享,内容包括但不仅限于: 服务端接口测试介绍接口测试自动化介绍接口测试自动化实践关于接口测试自动化的思考…

【Cisco Packet Tracer】路由器 NAT实验

NAT的实现方式有三种,即静态转换Static Nat、动态转换Dynamic Nat和端口多路复用OverLoad。 静态转换是指内部本地地址一对一转换成内部全局地址,相当内部本地的每一台PC都绑定了一个全局地址。一般用于在内网中对外提供服务的服务器。 [3] 动态转换是指…

电商早报 | 12月9日| Temu在美国折扣店类别中占17%

Earnest analytics:Temu在美国折扣店类别中占17% 12月8日消息,根据公司 Earnest analytics 数据,截至上个月,Temu 在美国折扣店类别中占据了近17%的市场份额。作为对比,“一元店”连锁店 Five Below 占比为8%&#xf…

【Docker】进阶之路:(九)Docker网络

【Docker】进阶之路:(九)Docker网络 Docker网络模式简介bridge网络模式host网络模式none网络模式container网络模式user-defined网络模式1.创建自定义的bridge网络2.使用自定义网络 高级网络配置docker network命令 为什么要了解容器的网络模…

Stable Diffusion AI绘画系列【21】:写实女孩--圣诞主题风

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

关于使用EB tresos出现无法激活的情况解决

EB安装完成时需要激活才能使用的,不然都打开或者建立不了工程, 我在安装eb studio时就是在激活方面有问题导致无法使用,下面讲解出现了什么问题以及我如何去解除的。 1.出现的错误提示? ERROR:flexActAPPActivationSe…
最新文章