我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQL注入之临时表

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQL注入之临时表

目录

一、什么是临时表:

二、临时表生成场景:

 性质1:

性质2:

性质3:

 三、临时表与union进阶利用:

四、利用场景:


一、什么是临时表:

  • 是建立在系统临时文件夹中的表;
  • 只在当前连接可见,当关闭连接时,MySQL会自动删除表并释放所有空间;
  • 如果使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表,那么只有在关闭客户端程序时才会销毁临时表

二、临时表生成场景:

该实验的原始表格为:

 性质1:

当我们查询一条不存在的信息时,便会返回一张临时表,如果查询语句的表不存在或没有规定所查询的表,那么临时表中的列名也为所查询的信息,也就是说列名和字段内容相同,如下

性质2:

 如果查找语句含有表格名,并且表格存在的话,那么查询不存在的信息,将会返回一个完整的表格,如下

性质3:

 如果查询语句带有where约束条件,但约束条件为假时,会返回一张只有列名的空表,如下

 三、临时表与union进阶利用:

我们可利用带有where的查询语句,当其后面的约束语句为假时,也就是约束的条件不存在时,返回的那张只有列名的表,从而进行sql注入创建一张我们想要的表

例句为select * from zw where tool='fff' union select 5,5;

  在表的tool列中,并没有“fff”这条数据,所以只会返回一张只有列名的空表,但是后面有union函数

union函数的性质为:把查询到的表格,依次合并为一张表格,并且不保留除第一个表格之外的其他表格的列名,只是把其他表格的数据依次追加到第一个表格之后,所有的表格都=共用第一张表格的列名

 当第一个表格只有列名时,第二条语句查找不存在的数据,会返回数据本身,也就是借助了第一个表格的列名,从而巧妙的修改了返回的内容。

四、利用场景:

假设有一个登陆页面

此页面的验证机制为从数据库查询账号密码,进行校验

查询语句为

select user,password from users where user="input";

 此语句根据我们输入的用户,在数据库查找相应的用户名与密码,再与我们输入的用户名和密码进行比较

这里我们便可利用union函数构造一张新表进行绕过

这是用于实验的初始表格:

 

 我们可以看到常规情况下,我们需要用户名为admin,密码为123456才可登陆成功

但我们利用通过以下语句

select user,password from users where user="6666" union select "admin","admin";

 构造一张用户名与密码均为admin的临时表来实现绕过

执行结果为:

 更多相关内容请查看作者博客icon-default.png?t=N176http://blog.byzhb.top/

来源地址:https://blog.csdn.net/Elite__zhb/article/details/129654615

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQL注入之临时表

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

sql临时表如何加入主键

在创建临时表时,可以使用CREATE TABLE语句来定义主键。以下是一个示例:CREATE TEMPORARY TABLE temp_table (id INT PRIMARY KEY,name VARCHAR(100),age INT
sql临时表如何加入主键
2024-04-09

MySQL之临时表

写在前面 本文一起看下MySQL的临时表。 1:什么是临时表 通过create temporary table t语句创建的表,就是临时表,临时表的临时体现在其生命周期是和会话一样的,当会话结束,即连接关闭时MySQL会自动将创建的临时表执
2023-08-17

SQL Server临时表的正确删除方式(sql server 删除临时表)

目录SQL Server编程客栈临时表的正确删除方式1、错误的删除操作:2、正确的删除方式:补充:SQL临时表的使用示例删除临时表SQL Server临时表的正确删除方式临时表与一般的表不同,它是保存到tempDb表中。临时表的表名与你所
2023-02-16

sql怎么新建临时表并导入数据

要新建临时表并导入数据,可以使用以下步骤:创建临时表:使用`CREATE TEMPORARY TABLE`语句创建临时表。临时表在会话结束时会自动删除。例如:CREATE TEMPORARY TABLE temp_table (id INT
2023-10-27

sql怎么创建临时表并导入数据

要创建临时表并导入数据,可以按照以下步骤操作:创建临时表:使用CREATE TABLE语句创建临时表,可以指定表的结构,例如:CREATE TEMPORARY TABLE temp_table (id INT,name VARCHAR(50
sql怎么创建临时表并导入数据
2024-04-09

sql中如何创建临时表

在 sql 中创建临时表可使用 create temp table 语句,特点包括:会话范围、无持久性、性能优化、命名约定(## 或 # 前缀);适用于存储中间结果、复杂查询、数据分析和处理大量数据;优势包括:减少永久表数据量、提高查询性能
sql中如何创建临时表
2024-05-10

sql中临时表怎么创建

创建 sql 临时表步骤如下:使用 create temporary table 语法创建表,指定表名和列定义。添加数据并对临时表进行操作,就像操作普通表一样。会话结束后,临时表将自动删除,或使用 drop table 语法手动删除。SQL
sql中临时表怎么创建
2024-05-10

sql两表怎么合并成一张临时表

可以使用UNION ALL关键字将两张表合并成一张临时表,示例代码如下:CREATE TEMP TABLE temp_table ASSELECT * FROM table1UNION ALLSELECT * FROM table2
sql两表怎么合并成一张临时表
2024-03-06

sql临时表怎么创建和使用

在SQL中,可以使用CREATE TABLE语句来创建临时表。临时表是在当前会话中存在的表,一旦会话结束,临时表就会自动被删除。创建临时表的语法如下:CREATE TEMPORARY TABLE table_name (column1
sql临时表怎么创建和使用
2024-04-09

SQL创建临时表的两种方法

目录1. 使用 WITH 子句(常用于 CTE,公用表表达式)2. 使用 CREATE TEMPORARY TABLE在 SQL 中,创建临时表可以有多种方法,取决于你想要实现的功能和数据库的类型。以下是两种常见的方法:1. 使用 WIT
SQL创建临时表的两种方法
2024-10-17

sql临时表的优缺点是什么

SQL临时表的优点包括:临时表可以提高查询性能:通过将查询结果存储在临时表中,可以减少查询的复杂性和计算量,从而提高查询性能。临时表可以存储中间结果:在复杂的查询中,可以使用临时表来存储中间结果,以便后续查询使用。临时表可以提供更好的可读性
sql临时表的优缺点是什么
2024-04-09

编程热搜

目录