[SUCTF 2019]EasySQL 1

题目环境:
image.png

把你的旗子给我,我会告诉你旗子是不是对的。

判断注入类型
1'
回显结果
image.png

不是字符型SQL注入

1
回显结果
image.png

数字型SQL注入

查所有数据库,采用堆叠注入
1;show databases;
image.png
查看所有数据表
1;show tables;
image.png
尝试爆Flag数据表的字段
1;show columns from Flag;
image.png

回显错误

到这里,大佬们直接猜出了后端语句
select $_GET['query'] || flag from Flag
我直接好家伙,大佬果然是大佬
||就是SQL里面的逻辑或运算符
解法1:
*,1
那么传到后端语句就是
select *,1 || flag from Flag
这里我问了下文心一言,看完我也理解了

这段SQL代码的含义是:从Flag表中选择所有的列,以及由列flag的值与数字1进行连接生成的新列。
具体来说:
select *:选择所有的列。
1 || flag:这是SQL中的字符串连接操作。它将数字1与flag列的值进行连接。对于每一行,都会生成一个新的字符串,这个字符串是数字1后跟着flag列的值。如果flag列的值本身是一个字符串,那么这两个字符串将被连接起来。
from Flag:从Flag表中选择数据。
因此,这段代码的输出结果将包含Flag表的所有列,以及一个名为“1”的列,该列的值是flag列的值与数字1的连接。

大致意思,就是查看数据表Flag的所有列内容,然后添加了一个由列flag的值与数字1进行连接生成的新列,这个新的列名就叫1,那么猜测或者说就是flag被过滤,我们还能查到flag列的值,因为flag的值复制到了新的列1。
*,0
image.png
可以明显看到新的列名0和flag的值连接起来了
*,1
image.png
对吧,新列名为1
*,2
image.png
还是为1,所有还可以看出Flag数据表的列只能是两个
解法2:
既然题目内置的是逻辑或运算符,那咱们直接把它改成字符串连接符不就好了嘛(滑稽)
使用set方法定义sql_mode参数设置,PIPES_AS_CONCAT字符串连接符select 1查询第一列
1;set sql_mode=PIPES_AS_CONCAT;select 1
回显结果:
image.png
可以明显看出解法1和解法2的回显结果有明显不同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/125304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

算法——程序的灵魂

文章目录 前言算法与程序的关系例子1:冒泡排序例子2:斐波那契数列算法优化与进阶总结 前言 大家好我是艾老虎尤,算法与程序是计算机科学中两个非常重要的概念。算法是解决问题的方法和步骤,而程序是算法的具体实现。在计算机科学…

LeetCode | 27. 移除元素

LeetCode | 27. 移除元素 OJ链接 这道题有一个方法是要删除的数据直接后一个数据挪动到前一个数据,这个方法好不好?最坏的情况下时间复杂度是O(N^2) 还有一个方法 定义一个src定义一个dst,原地直接进行赋值,不进行挪动&#xf…

Qt程序执行编译输出内容解释

以这个为例: D:\SoftwareInstall\Qt6\Tools\QtCreator\bin\jom\jom.exe -f Makefile.Debug cd AuthorizeTools\ && ( if not exist Makefile D:\SoftwareInstall\Qt6\5.15.2\msvc2019_64\bin\qmake.exe -o Makefile E:\Coding\project\DigitalCamera\digita…

yum安装node,npm

node官网 yum -y install nodejs npm 查看版本 npm -v node -v卸载 yum -y remove nodejs npm修改镜像源 4.1. 修改淘宝镜像源 set registry https://registry.npm.taobao.org npm config get registr4.2. 修改华为云镜像源 npm config set registry https://mirrors.huaweicl…

Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库

Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库 Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库安装 IndexDB类库引入 localForage测试 新增数据、获取数据 Vue使用 IndexDB vue操作IndexDB数据库 Vue操作IndexDB数据库 大部分场景使用 LocalStore都…

【Python】海龟图turtle.color() 方法有关RGB颜色设置详解

在Turtle模块中,turtle.color()函数用于设置画笔和填充颜色,你可以使用RGB颜色码作为参数。RGB颜色码由三个数字组成,分别代表红色(R),绿色(G)和蓝色(B)的分量…

驱动开发platform

任务 : 基于platform驱动模型完成LED驱动的编写&#xff0c;实现三盏灯的点亮 驱动代码 #include <linux/init.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/mod_devicetable.h> #include <linux/of.h>…

Linux | 进程终止与进程等待

目录 前言 一、进程终止 1、进程终止的几种可能 2、exit 与 _exit 二、进程等待 1、为什么要进程等待 2、如何进行进程等待 &#xff08;1&#xff09;wait函数 &#xff08;2&#xff09;waitpid函数 3、再次深刻理解进程等待 前言 我们前面介绍进程时说子进程退出…

pytorch复现4_Resnet

ResNet在《Deep Residual Learning for Image Recognition》论文中提出&#xff0c;是在CVPR 2016发表的一种影响深远的网络模型&#xff0c;由何凯明大神团队提出来&#xff0c;在ImageNet的分类比赛上将网络深度直接提高到了152层&#xff0c;前一年夺冠的VGG只有19层。Image…

uniapp 关于 video 组件的缩放比例问题

在 container 样式的 padding-bottom 设置比例值 9/16 比例值&#xff1a;56.25% 3/4 比例值&#xff1a;75% <view class"container"><video class"video-box" src"xxx.mp4" /> </view> .container {position: relative;wid…

Redis(01)| 数据结构

这里写自定义目录标题 Redis 速度快的原因除了它是内存数据库&#xff0c;使得所有的操作都在内存上进行之外&#xff0c;还有一个重要因素&#xff0c;它实现的数据结构&#xff0c;使得我们对数据进行增删查改操作时&#xff0c;Redis 能高效的处理。 因此&#xff0c;这次我…

作为20年老程序员,我如何使用GPT4来帮我写代码

如果你还在用google寻找解决代码bug的方案&#xff0c;那你真的out了&#xff0c;试试gpt4, save my life. 不是小编危言耸听&#xff0c;最近用gpt4来写代码极大地提高了代码生产力和运行效率&#xff0c;今天特地跟大家分享一下。 https://www.promptspower.comhttps://www.…

element ui dialog嵌套的页面组件,第二次点击的时候,dialog里面的嵌套的页面组件不加载数据问题

之前的代码 <el-dialog :title"title" :visible.sync"open" width"850px" append-to-body :close-on-click-modal"false" >优化之后的代码 <el-dialog :title"title" :visible.sync"open" v-if"op…

测开 (Junit 单元测试框架)

目录 了解 Junit 引入相关依赖 1、Junit注解 Test BeforeEach、BeforeAll AfterEach && AfterAll 2、断言 1、Assertions - assertEquals 方法 2、Assertions - assertNotEquals 方法 3、Assertions - assertTrue && assertFalse方法 4、Assertions…

Microsoft365个人版与家庭版有哪些功能区别?

Microsoft 365个人版与家庭版均能享受完整的Microsoft 365功能与权益&#xff0c;稍有不同的是&#xff0c;Microsoft 365家庭版可供6人使用&#xff0c;而个人版是仅供一人使用。 个人版可以同时登入5台设备&#xff0c;家庭版每人也可以登入5台设备&#xff0c;每个人都可以享…

【Linux】centos安装配置及远程连接工具的使用

前言 CentOS 是什么&#xff1f; CentOS社区企业操作系统&#xff08;Community Enterprise Operating System&#xff09; CentOS 是众多 Linux 发行版中的一种。全称&#xff1a; The Community ENTerprise Operating System 。 她是将 Red Hat Enterprise Linux &#xff…

sitespeedio.io 前端页面监控安装部署接入influxdb 到grafana

1.docker部署influxdb,部署1.8一下&#xff0c;不然语法有变化后面用不了grafana模板 docker run -d -p 8086:8086 --name influxdb -v $PWD/influxdb-data:/var/lib/influxdb influxdb:1.7.11-alpine docker exec -it influxdb_id bash #influx create user admin with pass…

Yakit工具篇:WebFuzzer模块之重放和爆破

简介 Yakit的Web Fuzzer模块支持用户自定义HTTP原文发送请求。为了让用户使用简单&#xff0c;符合直觉&#xff0c;只需要关心数据相关信息&#xff0c;Yakit后端(yaklang)做了很多工作。 首先我们先来学习重放请求的操作&#xff0c;在日常工作中可以使用 Web Fuzzer进行请…

visual studio编译QtAV

1.1 依赖环境 第一种方法: 下载编译好的ffmpeg-3.4.2-win64-dev和ffmpeg-3.4.2-win64-shared,解压得到 D:\qt-workspace\ffmpeg-3.4.2-win64-dev D:\qt-workspace\ffmpeg-3.4.2-win64-shared 第二种方法: QtAV官方有提供编译好的依赖库 QtAV-depends-windows-x86%2Bx64.7…

考研数学中放缩法和无穷项求和

考研数学放缩法和无穷项求和 放缩法专题例子1例子2例子3例子4例子5 放缩法专题 本文以例子为切入&#xff0c;对一些常用的放缩方法进行总结归纳&#xff0c;以期让读者对相关问题有一定的应对手段。 例子1 问题&#xff1a;2020年高数甲&#xff0c;选择题第1题。 lim ⁡ …