sql注入--10http头注入

  • http请求头注入
    • http
      • http协议
      • TCP协议
      • http请求头
        • 请求方式
      • http响应
        • 响应中的信息
          • 响应码
          • Content-Length
    • http请求头注入
      • Useragent注入(ua头注入)
        • 靶场利用
      • Referer注入
        • 靶场利用
      • Cookie注入
        • 靶场利用
      • 注入方法
      • 判断方法
      • 判断方法

http请求头注入

http

http协议

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

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

TCP协议

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

http请求头

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

以下是一个典型的http请求:

请求头信息 含义
GET 请求方式
/ASDADADA 代表路径,比如127.0.0.1/ASDADADA
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 就是一段字符串,是浏览器保存服务器返回数据的方法,通常保存用户身份信息
Content-Type 服务器端能接受的格式
Content-Length 请求头的长度
X-Requested-With 用于判断客户端请求是哪种请求
Referer 是HTTP请求header的报文头,用于指明当前流量的来源参考页面。通过这个信息,我们可以知道访客是怎么来到当前页面的

请求方式

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

GET:获取网站静态资源

POST:提交数据

http响应

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

在burpsuit里面可以将请求包发往重放(repeater)模块查看http响应

响应中的信息

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

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

响应信息 含义
Server消息头 包含一个旗标,指明所使用的Web服务器软件。有时还包括其他信息.如所安装的模块和服务器操作系统。其中包含的信息可能并不准确。
Set-Cookie消息头 向浏览器发送另一个cookie.它将在随后向服务器发送的请求中由Cookie消息头返回。
Pragma消息头 指示浏览器不要将响应保存在缓存中。Expires消息头指出响应内容已经过期.因此不应保存在缓存中。当返回动态内容时常常会发送这些指令,以确保浏览器随时获得最新内容。
Content-Type消息头 表示这个消息主体中包含一个HTML文档。
Content-Length消息头 规定消息主体的字节长度。
响应码

网上一堆,自己搜索

Content-Length

显示的是响应内容的长度

当我们改数据包时,比如加一个单引号的时候,发现长度改变,说明响应的内容存在变化,可以找找响应内容中有没有报错信息之类的信息。

http请求头注入

Useragent注入(ua头注入)

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

靶场利用

sql-labs-master的less-18

Referer注入

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

靶场利用

sqli-labs-master的less-19

Cookie注入

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

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

靶场利用

sqli-labs-master的less-20

注入方法

将抓到的包发送到burpsuit中的重放模块,修改ua头中的信息,换成 ’ ,根据猜测的ua头传入数据库的后端代码,添加字符对语句进行闭合操作。

http响应信息中存在回显,根据回显来得到数据库信息,一般用报错注入的手法更为方便

不能使用union select手法进行注入,因为union select是用于联合查询,如果后端代码的前面是insert into或非查询sql语句,会产生报错。

主要是根据报错信息修改语句

重点就是构造闭合

判断方法

查看页面上有没有请求头信息,找到位置就可以进行测试是否存在注入

不能使用union select手法进行注入,因为union select是用于联合查询,如果后端代码的前面是insert into或非查询sql语句,会产生报错。

主要是根据报错信息修改语句

重点就是构造闭合

判断方法

查看页面上有没有请求头信息,找到位置就可以进行测试是否存在注入

扩展思路:如果页面上存在别的信息,也可以尝试一下,而不止是在url栏上或者是在文本框中

sql注入--10http头注入相关推荐

  1. 【网络安全】SQL注入-XFF头注入

    XFF头注入 注入原理 代码分析 注入步骤 注入原理 getenv('HTTP_X_FORWARDED_FOR')获取可以回去远端服务器的ip地址,若没有进行处理我们可以使用HTTP_X_FORWAR ...

  2. SQL注入之MySQL注入学习笔记(二)

    补充:MySQL注释方法 文章目录 MySQL注入 基本介绍 字符型 数字型 搜索型 Cookie注入 HTTP头注入 具体实例 数字型注入 一般类型 被单引号包裹起来的 双引号加小括号包裹 两个括号 ...

  3. SQL注入漏洞测试(HTTP头注入)

    HTTP头部详解 User-Agent:使得服务器能够识别客户使用的操作系统,游览器版本等.(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据库中) Cookie:网站为了辨别用户身 ...

  4. MySQL注入读写文件、HTTP头中的SQL注入和cookie注入

    MySQL注入读写文件 MySQL数据库在渗透过程中能够使用的功能还是比较多的,除了读取数据之外,还可以进行对文件进行读写(前提是权限足够) 读取前提: 1.用户权限足够高,尽量具有root权限 2. ...

  5. SQL注入-HTTP头的一些注入

    SQL注入-HTTP头的一些注入 原理: 有时因为需要,会将客户的请求头中一些数据与数据库进行交互,比如用户的cookie,统计用户点击链接的来源referer,统计用户操作系统User-Agent, ...

  6. sql注入利用_SQL注入:这是什么? 原因和利用

    sql注入利用 摘要 (Summary) Many security vulnerabilities are discovered, patched, and go away forever. Som ...

  7. mysql sql注入工具_SQL注入工具实践

    程序简介 超级SQL注入工具(SSQLInjection)是一款基于HTTP协议自组包的SQL注入工具,支持出现在HTTP协议任意位置的SQL注入,支持各种类型的SQL注入,支持HTTPS模式注入. ...

  8. XFF头注入原理分析

    目录 前言: 正文 0x01:xff头源码以及形成 0x02    xff注入方式 第一种 union注入 1)爆出库名 第二种 报错注入(updatexml & exctractvalue) ...

  9. SQL注入--HTTP头部注入

    实验目的 理解HTTP头部字段User-Agent.Referer.Cookie.X-Forwarded-For等的含义 和作用,掌握HTTP头部注入的原理.方法及基本流程. 实验原理 有时候,后台开 ...

最新文章

  1. Python字符串居然可以这样玩 到底怎么做到的 年薪50w程序员揭晓
  2. 开发网络爬虫应该怎样选择爬虫框架?
  3. npp夜光数据介绍 viirs_科研成果快报第177期:中国地区长时序AVHRR气溶胶数据的主要问题: 气溶胶反演频次与重污染天气...
  4. Jquery 日期组件
  5. poj 3683 2-SAT入门
  6. 分布式系统的现代消息传递
  7. 游艇床垫MED认证证书/床垫Wheel Mark舵轮标识认证
  8. 我的android手机在哪里打开,USB调试在哪里打开 手机USB调试模式设置大全
  9. Unity 游戏实例开发集合 之 FlappyBird (像素鸟) 休闲小游戏快速实现
  10. 分布式调用框架RSF-注册中心设计
  11. 全球首个 AI 说唱歌手 TikTok 发新歌,东西方审美差异巨大
  12. java从json数组中提取数据,从JSON数组中提取数据
  13. 2873-36-1,Gancidin W,CYCLO(L-LEU-L-PRO),cyclo-L-Leu-L-Pro,环(L-脯氨酰-L-亮氨酰)
  14. 基于Unity hdrp制作的转盘抽奖程序
  15. 【Class 46】【实例】python爬虫实现 自动搜索 并 打开浏览器
  16. 与谷歌、Facebook 抢夺 AI 人才和公司资源,爱彼迎加入 AI 战场
  17. 90 岁程序员:他的压缩算法改变了世界!
  18. 非华为电脑管家连接平板--无法连接问题解决方案之一
  19. 区块链开发公司谈跨境支付
  20. 智慧工地到底有多少“智慧”?见识到了!

热门文章

  1. 左右切换箭头代替滚动条,实现类似走马灯效果
  2. Date类型时间格式注解
  3. MATLAB中年份加月份怎么输,求助:在MATLAB里如何输入时间序列中的时间
  4. 手动搭建lamp架构
  5. 金融系统中加密机的简介
  6. 特殊微分方程的数值解——微分代数方程
  7. 8. 隔壁小孩被程序员欺负,我用了一篇 K8s的ConfigMap让他心服口服!
  8. 面试问到 Handler,这样回答让面试官大哥心服口服
  9. E. Sending a Sequence Over the Network(DP)
  10. Vulnhub系列--Vulnscan