CTF从入门到提升(七)insert 等数据表相关操作注入及例题分享

简介: 本次分享内容:insert update delete对数据表操作的一些基本问题及例题分享。insert语法介绍insert插入到某张表中,后面跟上设置的参数以及值。在insert的时候可以使用哪些注入方法呢?比如这个报错的方法,如果报错可以使用,那么同理其他函数也是可以使用的。

本次分享内容:insert update delete对数据表操作的一些基本问题及例题分享。

insert语法介绍
insert插入到某张表中,后面跟上设置的参数以及值。在insert的时候可以使用哪些注入方法呢?

比如这个报错的方法,如果报错可以使用,那么同理其他函数也是可以使用的。
7_1

首先看下语句使用,如下图:
7_2

update 语法介绍
update 即对整张表做数据更新
7_3

我们在set 这个位置做一个注入,报错后可以带出数据:

delete语法介绍
delete即删除表中的数据

7_4

7_5
例如我删除id=7的数据
7_7

例题分享
7_8
7_8_2
7_8_3
7_8_4

我们发现引号不能传入反斜杠可以传入,反斜杠的作用就是让引号失效。

我们全部清掉重新推导一遍,/进去之后,那么这里就会连起来。
7_9

在他后面去跟一个逗号,
7_10

我们看能否可以直接注入语句,如果直接传入注入语句,select database 是可以直接传进去的。database后面的字符把它闭合掉。
7_10

思路:要去猜它的一个基本模型是什么,然后你才能做出对应的推测,进而推测出它的语法。,否则注入不进去。

通过插入“/ ”让他的第一个参数中的引号失效,和第二个变量中的第一个引号闭合掉。

7_11

根据他给的提示我们再构造语句:
7_12
7_12_2
7_12_3

这就是通过注入拿到了我们想要的flag

7_13

相关文章
|
1月前
|
关系型数据库 MySQL
Mysql基础第二十二天,插入数据
Mysql基础第二十二天,插入数据
17 0
|
4月前
|
SQL 数据库
数据库原理—SQL数据定义功能(九)(2)
数据库原理—SQL数据定义功能(九)
|
4月前
|
SQL 数据库
数据库原理—SQL数据定义功能(九)(1)
数据库原理—SQL数据定义功能(九)
|
9月前
|
JSON 前端开发 数据库
JdbcTemplate实操查询数据库表中所有记录信息(十六课)
JdbcTemplate实操查询数据库表中所有记录信息(十六课)
51 0
|
10月前
|
存储 关系型数据库 MySQL
15天学习MySQL计划(常用函数/约束)(基础篇)第三天
15天学习MySQL计划(常用函数/约束)(基础篇)第三天
52 0
|
10月前
|
存储 SQL 关系型数据库
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(上)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
114 0
|
10月前
|
存储 SQL 安全
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(下)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
114 0
|
11月前
|
SQL 数据库
leetcode--SQL例题+数据库面经(留个坑再填
leetcode--SQL例题+数据库面经(留个坑再填
|
存储 SQL 关系型数据库
MySQL触发器里的流程控制语句 case when .. then else ... end;组合+继承;高级数据库复习
MySQL触发器里的流程控制语句 实际上就是if 与 if else 我们的流程控制语句可以在业务实现类实现判断 也可以通过数据库MySQL触发器来实现流程控制语句
184 0
MySQL触发器里的流程控制语句 case when .. then else ... end;组合+继承;高级数据库复习
|
SQL 索引
sql做题第十六天(删除记录篇)
• 扩展:在 delete 后加 limit 是个好习惯。原因如下: • 1,delete from 是全表查找的,如果加上limit 时,删除指定的条数后,就会return了。效率提高不少。 • 2,降低写错 SQL 的代价,即使删错了,例如limit 100,也就删除了100条数据,也能通过binlog找回数据 • 3,避免长事务,delete执行时,涉及的行是会加锁,如果删除的数据量大,那业务功能都要不能用了 • 4,加锁都是基于索引的,如果查询字段没有加索引,那会扫描到主键索引上,那么就算查询出来的只有一条记录,也会锁表 • 5,delete数据量大时,容易占用cpu,导致越删除越慢