sqli-labs(50-53)

Less-50

从源码可以看出,这里执行sql语句的函数是mysqli_multi_query(),它与以往执行sql语句的函数mysqli_query()不同,它一次可执行多条语句,而以往的一次只能执行一条,所以可以使用堆叠注入,之前都做过很多堆叠注入了,所以不再演示,只是这里为字符型注入,下面把一些基础常用的sql语句进行了罗列

数据库

# 查看所有数据库
SHOW DATABASES;
#创建一个数据库
CREATE DATABASE n;
#删除一个数据库
DROP DATABASE n;
#使用这个数据库
USE n;

# 查看所有表
SHOW TABLES FROM database;
#创建一个表
CREATE TABLE n(id int,name varchar(10));
CREATE TABLE n(id int,name varchar(10),PRIMARY KEY (id),FOREIGN KEY(id))
# 直接将查询结果导入或复制到新创建的表
CREATE TABLE n SELECT * FROM m;
#新创建的表于一个存在的表的数据结构类似
CREATE TABLE n LIKE m;
#创建临时表
#临时表将在你连接Mysql期间存在。但断开连接时,Mysql将自动删除表并释放所用空间,也可以手动删除
CREATE TEMPORARY TABLE n(id int,name varchar(10));
# 直接将查询结果导入新创建的临时表
CREATE TEMPORARY TABLE n SELECT * FROM m;
#删除一个存在表
DROP TABLE IF EXISTS n;
#更改存在表的名称
ALTER TABLE n RENAME m;
RENAME TABLE n TO m;
#查看表的结构
DESC n;
SHOW COLUMNS IN n;
SHOW COLUMNS FROM n;
#查看表的创建语句
SHOW CREATE TABLE n;

表的结构

# 添加字段
ALTER TABLE n ADD age varchar(2);
#删除字段
ALTER TABLE n DROP age;
#更改字段名和熟悉
ALTER TABLE n CHANGE age a int;
#只更改字段属性
ALTER TABLE n MODIRY age varchar(7);

表的数据

# 增加数据
INSERT INTO n VALUES(1,'TOM','23');
INSERT INTO n SELECT * FROM n;#把数据复制一遍再插入
# 删除数据
DELETE FROM n WHERE id=2;
#更新数据
UPDATE n SET name='tom' WHERE id=2;
#数据查找
SELECT * FROM n WHERE name LIKE '%H';
#数据排序(倒序)
SELECT * FROM n ORDER BY name,id DESC;

Less-51

闭合方式为',报错型注入

Less-52

数字型排序堆叠盲注

Less-53

符号型(')排序堆叠盲注,这里提一下如何判断是'闭合还是')闭合,如果是单引号闭合,可能也会回显正常,因为这里id是整型的,1)会隐式转换为1,所以回显也是正常的,所以靠?sort=1’and'1'='1'--+?sort=1'and'1'='1')--+来判断,前者回显正常则是单引号闭合,后者则是‘)闭合,当然这也不是惟一的判断方法,只要能区分两者就行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值