堆叠查询注入攻击

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
  • Kali-工具-sqlmap常见用法

    SQLmap常见用法 r 这个参数是将 抓到的请求包复制一个文件中然后使用此参数进行扫描 get post提交方法都支持 例如 rp txt 是抓取的数据包 sqlmap r rp txt 也可以加 p 指定注入点 sqlmap r rp
  • sqlmap --os-shell 使用方法

    一 burp suite抓包 如上图所示 红框处很明显是一个传参点 我们就在这个页面抓包 抓到包之后将内容保存到桌面的1000 txt文件下 二 sqlmap跑包 打开sqlmap跑包 python sqlmap py r C Users
  • sqli-labs(31-40)

    人过留名 雁过留声 人生天地间 凡有大动静处 必有猪头 Less 31 源码分析 和 Less 29 相似 就是参数使用双引号 括号引用了 注入的时候注意闭合即可 Less 32 源码分析 check addslashes 转义的字符有 反
  • SQL注入原理-万能密码注入

    一 学习目的 1 理解 万能密码 原理 2 学习 万能密码 的使用 二 实验环境 本机 192 168 1 2 目标机 192 168 1 3 三 举例说明 1 输入一个存在漏洞的网站 例如 http 192 168 1 3 8009 2
  • 渗透相关问题(一)

    1 什么是kali kali Linux是基于Debian的Linux发行版 最早是设计用于数字取证的操作系统 被称为BackTrack 基于ubuntu kali集成了精心挑选的渗透测试和安全审计的工具 供渗透测试和安全设计人员使用 也可
  • SQL注入系列之ASP+ACCESS手动注入(一)----数字型

    一 access数据库 1 简介 Microsoft Office Access是由微软发布的关系数据库管理系统 它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点 是 Microsoft Offi
  • SQL注入原理-数值型注入

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

    我们所常说的 or or 万能密码的原理是这样的 SQL语句sql select from user where username username and pass pass 当我们用户名和密码都填写 or or 提交的时候 即此时语句中
  • sqli-labs:less-28(过滤了union和select)

    div div
  • sqli labs less 25

    按照常规输入id 1 提示报错信息如下 一个很常见的报错 可以看出是单引号闭合的语句 输入 id 1 or 1 报出的错误信息不明显 加入一个括号进行试探能不能报出更多的语句错误 输入 id 1 or 1 从上图看出来or 被屏蔽了 经过更
  • SQLi-Labs 学习笔记(Less 41-50)

    点击打开链接 Less 41 基于错误的POST型单引号字符型注入 先打开网页查看 Welcome Dhakkan 与之前讲的Less 40的区别 plain view plain copy sql SELECT FROM users WH
  • 面向对象设计的重要原则:SOLID

    SOLID是面向对象设计5大重要原则的首字母缩写 1 单一职责原则 SRP 2 开放封闭原则 OCP 3 里氏替换原则 LSP 4 接口隔离原则 ISP 5 依赖倒置原则 DIP 下面具体解释一下每个原则 1 单一职责原则 SRP 表明一个
  • SQL练习(less-5\8)延时注入

    本文为学习笔记 仅限学习交流 不得利用 从事危害国家或人民安全 荣誉和利益等活动 SQL注入 字符型 延时注入 延时型语句 sleep 参数 任意正整数 一般为秒 If a b c 它的意思就是如果条件A成立 则输出结果B 否则输出结果C
  • iwebsec靶场 SQL注入漏洞通关笔记6- 宽字节注入

    系列文章目录 iwebsec靶场 SQL注入漏洞通关笔记1 数字型注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2 字符型注入 宽字节注入 mooyuan的博客 CSDN博客 iwebsec靶场 SQL
  • 无痕渗透“INSERT INTO”型SQL注入

    原文链接 http www mathyvanhoef com 2011 10 exploiting insert into sql injections html 在某个寂静的深夜 你徘徊在一个网站中 其中包含一个可提交form 需要你输入
  • 基于Sqli-Labs靶场的SQL注入-29~31关

    目录 Less 29 基于GET 双服务器 单引号 字符型注入 双服务器解析 爆破数据库名 爆破表名 爆破列名 爆破字段值 Less 30 基于GET 双服务器 双引号 字符型注入 Less 31 基于GET 双服务器 双引号加括号 字符型
  • 渗透测试——报错注入

    1 报错注入原理 由于后台没有对数据库的信息做过滤 会输出到前台显示 那么我们就可以通过制造报错函数 将查询语句带入到数据库中 以报错信息显示出来 2 报错注入漏洞产生的条件 1 参数用户可控 前端传入的参数内容由用户控制 2 参数带入数据
  • sqli-labs-less-7 使用outfile函数写入一句话木马

    Less 7 一句话木马 判断注入点 127 0 0 1 sqli labs master Less 7 id 1 显示正常 提示 You are in Use outfile 127 0 0 1 sqli labs master Less

随机推荐

  • 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中 主要是命令行中 每一条语句结尾加 表示语句结束 这样我们就想