堆叠查询注入攻击

2023-11-19

堆叠注入原理及介绍

Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。 在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下
一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。

使用条件

堆叠注入的使用条件十分有限,其可能受到API或者数据库引擎,又或者权限的限制只有当调用数据库函数支持执行多条sql语句时才能够使用,利用mysqli_multi_query()函数就支持多条sql语句同时执行,但实际情况中,如PHP为了防止sql注入机制,往往使用调用数据库的函数是mysqli_ query()函数,其只能执行一条语句,分号后面的内容将不会被执行,所以可以说堆叠注入的使用条件十分有限,一旦能够被使用,将可能对网站造成十分大的威胁。

堆叠查询注入攻击构造

正常sql语句:Select * from users where id=’1’’;
注入sql语句:Select * from users where id=’1’;select if(length(database())>5,sleep(5),1)%23;
Payload= ‘;select if(length(database())>5,sleep(5),1)%23
Payload= ‘;select if(substr(user(),1,1)=‘r’,sleep(3),1)%23 如此句:从堆叠注入语句中可以看出,第二条SQL语句(select if(substr(user(),1,1)=‘r’,sleep(3),1)%23就是时间盲注的语句。
堆叠注入和union的区别在于,union后只能跟select,而堆叠后面可以使用insert,update, create,
delete等常规数据库语句

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

堆叠查询注入攻击 的相关文章

  • SQL注入漏洞(postgresql注入)

    以前孤陋寡闻对postgresql这个数据库少有了解 后来与几个目前在企业实习的朋友聊天才得知他们有的公司项目用的是postgresql 有的公司是正在将原本的数据库迁移到postgresql 可见postgresql比较热 毕竟免费且功能
  • 渗透相关问题(二)

    1 报错注入原理是什么 由于后台没有对数据库的信息做过滤 会输出到前台显示 那么我们就可以利用制造报错函数 将查询语句带入到数据库中 以报错信息显示出来 一般是不以网页标签和xpath的路径格式来制造报错 2 常用哪些函数来制造报错 ext
  • 如何判断是字符型注入还是整形注入

    1 数字型注入 当输入的参数为整形时 如果存在注入漏洞 可以认为是数字型注入 测试步骤 1 加单引号 URL www text com text php id 3 对应的sql select from table where id 3 这时
  • SQL注入系列之ASP+ACCESS手动注入(一)----数字型

    一 access数据库 1 简介 Microsoft Office Access是由微软发布的关系数据库管理系统 它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点 是 Microsoft Offi
  • 一句话木马、security_file_priv、into outfile、my.ini、sqli-labs-Less7

    sqli labs Less7闯关会用到一句话木马 http 127 0 0 1 Less 7 id 1 union select 1 2 into outfile C hackfiles sqli labs master Less 7 m
  • SQL注入原理-数值型注入

    小伙伴们大家好 本期为大家带来的是SQL注入原理 数值型注入的讲解 目录 SQL注入原理 数值型注入 编辑 1 测试是否存在注入点 2 判断字段个数 3 找出可以回显的字段 4 查询数据库的信息 1 查看当前的数据库 2 查看当前数据库的用
  • 万能密码原理和总结

    我们所常说的 or or 万能密码的原理是这样的 SQL语句sql select from user where username username and pass pass 当我们用户名和密码都填写 or or 提交的时候 即此时语句中
  • python脚本实现sql时间盲注

    这里用sqli labs master第10关举例 1 爆数据库长度 coding utf 8 import requests import datetime import time 获取数据库名长度 def database len fo
  • MYSQL HTTP头部注入

    HTTP头部基础 Accept 浏览器能够处理的内容类型 Accept Charset 浏览器能够显示的字符集 Accept Encoding 浏览器能处理的压缩编码 Accept Language 浏览器当前设置的语言 Connectio
  • 如何利用SQL注入进行爆库

    SQL注入能做什么 在 SQL注入基础 一文介绍了SQL注入的基本原理和实验方法 那接下来就要问一下 SQL注入到底能什么 估计很多朋友会这样认为 利用SQL注入最多只能获取当前表中的所有记录 但无法获取其它表的内容 事实果真的如此 正像小
  • 实验吧——认真一点!

    coding utf8 import requests import urllib 设置代理 用于调试过程中抓包分析 proxies http http localhost 9008 https http localhost 9008 he
  • 应用布尔盲注来爆库(1)

    先上道练习题Less 8 打开sqli labs项目的练习题Less 8 http 192 168 3 2 sqli labs Less 8 然后输入id 1参数 可以得到以下信息 输入有效id 1时 只提示成功 You are in 没有
  • 面向对象设计的重要原则:SOLID

    SOLID是面向对象设计5大重要原则的首字母缩写 1 单一职责原则 SRP 2 开放封闭原则 OCP 3 里氏替换原则 LSP 4 接口隔离原则 ISP 5 依赖倒置原则 DIP 下面具体解释一下每个原则 1 单一职责原则 SRP 表明一个
  • 从入门到入土:[SEED-Lab]-SQL注入攻击

    此博客仅用于记录个人学习进度 学识浅薄 若有错误观点欢迎评论区指出 欢迎各位前来交流 部分材料来源网络 若有侵权 立即删除 本人博客所有文章纯属学习之用 不涉及商业利益 不合适引用 自当删除 若被用于非法行为 与我本人无关 SEED Lab
  • iwebsec靶场 SQL注入漏洞通关笔记6- 宽字节注入

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • 概率论之 -- 边缘分布

    边缘分布 Marginal Distribution 指在概率论和统计学的多维随机变量中 只包含其中部分变量的概率分布 中文名 边缘分布 外文名 marginal distribution 又 名 边际分布 应用学科 概率论 统计学 定义
  • sqli-labs解题大法29 ~40

    Less 29 堆叠查询 在一条语句之后加上分号 然后接下一条语句 可以一次执行多条语句 order by 排序 可以 联合查询 可以 参考Less 1 Background 6 服务器 两层 架构 http www cnblogs com
  • 渗透相关问题(3)

    1 sql注入绕过的方法 注释符号绕过 大小写绕过 内联注释绕过 双写关键字绕过 特殊编码绕过 宽字节绕过 2 WAF常用的类型 硬件设备类型 软件产品类型 基于云的WAF 3 sql注入漏洞防御方法 代码层面 对输入进行严格的转义和过滤
  • 【SQL注入-12】http头部注入案例—基于Sqli-labs靶机(借助BurpSuite工具)

    目录 1 概述 1 1 User Agent概述 1 2 Referer 概述 2 实验平台及实验目标 2 1 实验平台 2 2 实验目标 3 User Agent注入案例 以sqli labs Less18为例 3 1 注入前准备 3 2
  • 堆叠查询注入攻击

    堆叠注入原理及介绍 Stacked injections 堆叠注入 从名词的含义就可以看到应该是一堆sql语句 多条 一起执行 而在真实的运用中也是这样的 我们知道在mysql中 主要是命令行中 每一条语句结尾加 表示语句结束 这样我们就想

随机推荐

  • a标签加入单击事件 屏蔽href跳转页面

    本文转载至 http blog 163 com huang qy blog static 615601452012101411625600 我们常用的在a标签中有点击事件 1 a href javascript js method 这是我们
  • Java 方法

    方法概述 方法 Method 是将具有独立功能的代码块组织成为一个整体 使其具有特殊功能的代码集 方法必须先创建才可以使用 该过程称为方法定义 方法创建后并不是直接运行的 需要手动使用后才执行 该过程称为方法调用 方法的定义和调用 格式 1
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E
  • Go: 协程的生命周期管理

    协程的生命周期 1 定义 协程的创建等全部生命历程的管理 通俗的讲就是 保姆 它的作用是便于协程的回收利用 goroutine申请的代价很小 但是在go程序中 goroutine的总量是有上限 超过上限 多余出来的协程就得等到前面的协程完成
  • jszip 解压压缩包_一文彻底弄懂jszip中的压缩与解压

    最近在做一个类似离线包的需求 平时我们正常工作中是开发完成一个完整的SPA之后打包上线 由于我们暂时没有服务器的资源 所以目前采取的一个方案是把这个SPA打包为一个zip包 然后上传至CDN 别人用的时候直接从CDN拉包然后解压就可以了 这
  • equals,contentEquals

    直接看源码 还是挺好看的
  • docker配置nginx并绑定域名和映射网站目录

    1 拉取nginx镜像 docker pull nginx 2 映射docker中nginx容器html目录到服务器html配置目录 docker run name my nginx d p 80 80 v data nginx html
  • pip镜像源大全及配置

    在中国使用pip时 可以配置国内镜像源来提高安装速度和稳定性 以下是一些常见的国内镜像源 阿里云 https mirrors aliyun com pypi simple 清华大学 https pypi tuna tsinghua edu
  • Cpp学习——类与对象3

    目录 一 初始化列表 1 初始化列表的使用 2 初始化列表的特点 3 必须要使用初始化列表的场景 二 单参数构造函数的隐式类型转换 1 内置类型的隐式类型转换 2 自定义类型的隐式类型转换 3 多参数构造函数的隐式类型转换 4 当你不想要发
  • 0343基于STM32单片机的茶园大棚环境土壤湿度光强WiFi监测系统proteus仿真原理图PCB

    功能介绍 0 本系统采用STM32F103RCT6作为单片机 1 采用的LCD1602液晶实时显示当前光强土壤湿度等参数信息 2 当土壤湿度超过设定的阈值 蜂鸣器报警 同时控制水泵工作状态 3 按键可更改环境参数的阈值 4 通过WiFi模块
  • 简单对比一下Cookie和Session的主要区别

    一句话总结 Cookie是检查用户身上的 通行证 来确认用户的身份 Session就是通过检查服务器上的 客户明细表 来确认用户的身份的 Session相当于在服务器中建立了一份 客户明细表 注释 300 20 4kb
  • 记录使用fiddle对夜神模拟器抓包相关设置

    在网上百度很多 试了不少 最后试到这个时 成功实现对模拟器的抓包操作 以此记录 注意 设置完后 不开启 Fiddle 的话 模拟器就不能上网了 可以通过再把网络配置 改回去 就可以恢复网络正常访问了 一 配置Fiddle参数设置 1 Too
  • find命令详解

    前言 find命令是我们日常工作中比较常用的Linux命令 全面的掌握这个命令可以使很多操作达到事半功倍的效果 如果对find命令有以下这些疑惑 本文都能帮你解决 find命令的格式是什么 参数中出现 或 号是什么意思 比如find mti
  • JAVA-WEB项目中,前后台结合AES和RSA对数据加密处理

    实际项目中为了系统安全 我们经常需要对请求数据和响应数据做加密处理 这里以spring后台 vue前台的java web为例 记录一个实现过程 一 为什么要结合AES和RSA 因为AES是对称加密 即加密解密用的秘钥是一样 这样一来AES的
  • SQLyog连接mysql

    mysql 64位客户端下载地址 https pan baidu com s 1bYd1YQ 启动mysql安装 cmd 用户名mysql80 密码 123456 安装SQLyog 官网地址 或者装客户端 名称随意 注册码 ccbfc13e
  • C# ASP.NET 如何判断DropdownList是否为空

    程序运行时 鼠标下拉 DropdownList控件 发现下拉列表为空 参见下图 如何判断 DropdownList控件为空呢 参见下述代码 if DropDownList1 Items Count 0 Response Write retu
  • 【win】引用的账户当前已经锁定,且可能无法登陆

    错误信息 错误原因 原保留的登录账号已失效 解决方法 1 打开控制面板 gt 选择 用户账户 2 选择 管理你的凭据 3 选择 windows凭据 展开10 10 0 2登入项 选择 删除 或 编辑 即编辑为现在可用的账户和密码 5 运行
  • Android Studio 中Gradle Build时报错:请求的操作无法在使用用户映射区域打开的文件上

    今天在运行Android项目 Android Studio 中Gradle Build时报错 请求的操作无法在使用用户映射区域打开的文件上执行 1 问题描述 Error java io FileNotFoundException F And
  • 大模型学习 -- CLIP

    本文是CLIP算法的学习笔记 从CLIP算法介绍到具体实现原理 再到应用方法和后续一些优化策略来学习CLIP系列算法 CLIP是什么 CLIP全称是Contrastive Language Image Pre training 一种基于对比
  • 堆叠查询注入攻击

    堆叠注入原理及介绍 Stacked injections 堆叠注入 从名词的含义就可以看到应该是一堆sql语句 多条 一起执行 而在真实的运用中也是这样的 我们知道在mysql中 主要是命令行中 每一条语句结尾加 表示语句结束 这样我们就想