(4)BUUCTF-web-[极客大挑战 2019]EasySQL1

前言:

觉得这个题目挺有意义的,因为最近在学数据库,但是不知道在现实中有什么应用,所以学起来也没有什么兴趣,做了这个题目,发现数据库还是挺有用处的,哈哈

知识点:

mysql 中and和or的优先级

()> and  >  or

sql="select * from DB where user_id=1 or user_name='张三' and birthday='2000-03-03'"

1.该条sql 表示从 DB 中查询出  user_id =1 或者 (user_name='张三' 并且 birthday='2000-03-03') 的数据

sql="select * from DB where (user_id=1 or user_name='张三') and birthday='2000-03-03'"

2.该条sql 表示查询表示(user_id =1 或者 user_name='张三')并且 birthday='2000-03-03')

 因为 () 的优先级会比 and 和 or 高  所以会先执行 ()里的
 

解题过程:

打开靶机后发现是一个登录界面,需要输入用户名和密码

先看看只输入用户民admin看看有什么报错

然后只输入密码也是同样的报错,所以用户名和密码都必须有值才能进行sql语句验证

判断是什么闭合

输入用户名admin'和admin

发现一个sql报错信息, 得知是''闭合

猜测后台的sql语句如下:

sql="select * from user where username='$username&'and password='$password&'"

然后使用万能密码看看能不能登录admin账户

payload:
用户名:admin
密码:admin' or 1=1# 

然后就出flag了

万能密码的原理是利用or和and的优先级来使得后面的where子句为真

我们输入的payload放入sql语句中就是这样的:

sql="select * from user where username='admin'and password='admin' or 1=1#'"

意思是:查询(用户名为admin并且password=admin)或者1=1的数据 #把后面的给注释掉了

因为1=1恒真,所以where子句后面恒真,所以就会输出所有用户的信息。

如果想只输出admin的信息可以使用:

payload:
用户名:admin ' or 1=1#
密码:admin

输入的payload放入sql语句中就是这样的:

sql="select * from user where username='admin' or 1=1#'and password='admin'" 

意思是:查询username=admin或者1=1,#把后面注释掉了,所以不用管。

这样就只会输出admin的信息。

 

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2023-11-24--oracle--实验--[Merge 语句]

oracle--实验---Merge语句 1.认知Merge 语句 • merge 语句是 sql 语句的一种。在 SQL server 、 Oracle 数据库中可用, MySQL 中不可用。 • merge 用来合并 update 和 insert 语句。目的:通过 merge 语句,根据一张表( 原数据表…

Let’s xrOS 一款让你优先体验社区创作者的 visionOS App工具

Let’s xrOS Apple Vision Pro 发布预示着空间计算时代的到来,让科技爱好者和开发者开始思考如何在新的交互、系统和硬件上打造独特的三维应用。 自 WWDC 2023 的发布会后,社交媒体上涌现了许多精美的 visionOS App 的效果图和演示视频,然而…

Windows核心编程 进程

目录 一、进程概述 二、创建进程相关API Winexec ShellExecute CreateProcess 三、进程退出相关API ExitProcess TerminateProcess GetCurrentProcess GetExitCodeProcess 四、如何理解虚拟内存空间 五、关于UAC 一、进程概述 进程:正在运行的程序 程…

set和map + multiset和multimap(使用+封装(RBTree))

set和map 前言一、使用1. set(1)、模板参数列表(2)、常见构造(3)、find和count(4)、insert和erase(5)、iterator(6)、lower_bound和upper_bound 2. multiset3. map(1)、模板参数列表(2)、构造(3)、modifiers和operations(4)、operator[] 4. multimap 二、封装RBTree迭代器原理R…

(11_23)构建高效数据流转的 ETL 系统:数据库 + Serverless 函数计算的最佳实践

作者|柳下 概述 随着企业规模和数据量的增长,数据的价值越来越受到重视。数据的变化和更新变得更加频繁和复杂,因此及时捕获和处理这些变化变得至关重要。为了满足这一需求,数据库 CDC(Change Data Capture&#xff…

晶振为什么不能放置在PCB边缘

某行车记录仪,测试的时候要加一个外接适配器,在机器上电运行测试时发现辐射超标,具体频点是84MHz、144MHz、168MHz,需要分析其辐射超标产生的原因,并给出相应的对策。辐射测试数据如下: 图1:辐…

B/S前后端分离的Java医院云HIS信息管理系统源码(LIS源码+电子病历源码)

HIS系统采用主流成熟技术开发,软件结构简洁、代码规范易阅读,SaaS应用,全浏览器访问前后端分离,多服务协同,服务可拆分,功能易扩展。多医院、多集团统一登录患者主索引建立、主数据管理,统一对外…

鸿蒙开发-ArkTS 语言-状态管理

鸿蒙开发-ArkTS 语言-基础语法 3. 状态管理 变量必须被装饰器装饰才能成为状态变量,状态变量的改变才能导致 UI 界面重新渲染 概念描述状态变量被状态装饰器装饰的变量,改变会引起UI的渲染更新。常规变量没有状态的变量,通常应用于辅助计算…

CVE-2023-22515:Atlassian Confluence权限提升漏洞复现 [附POC]

文章目录 Atlassian Confluence权限提升(CVE-2023-22515)漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现 0x06 修复建议 Atlassian Confluence权限提升(CVE-2023-22515)漏洞复现 [附POC] 0x01 前言 免责声明&…

Unity-类-Vector

Vector矢量 是一个基本的数学概念,它允许你描述方向和大小。在游戏和应用中,矢量通常用于描述一些基本属性,如角色的位置、物体移动的速度或两个物体之间的距离。 矢量算术是计算机编程很多方面(如图形、物理和动画)的基础,深入了解这一主题对于充分发挥 Unity 的功能很有…

从零学算法400

400.给你一个整数 n ,请你在无限的整数序列 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, …] 中找出并返回第 n 位上的数字。 示例 1: 输入:n 3 输出:3 示例 2: 输入:n 11 输出:0 解释:第…

社交媒体广告数据采集:Jsoup 的最佳实践

搜狐是中国领先的综合门户网站之一,广告在其网站上广泛投放。为了了解搜狐广告的策略和趋势,采集和分析搜狐广告数据变得至关重要。但是,搜狐网站的广告数据通常需要通过网页抓取的方式获取,这就需要一个强大的工具来解析和提取数…

HTML4总结

一、前序知识 1. 认识两位先驱 2. 计算机基础知识 1. 计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算、逻辑计算,还 具有存储记忆功能。 2. 计算机由 硬件 软件 成: 硬件:看得见摸得着…

tp8 使用rabbitMQ(2)工作队列

代码的参数说明在 第一小节的代码中,如果需要可移步到第一节中查看 工作队列 工作队列(又称:任务队列——Task Queues)是为了避免等待一些占用大量资源、时间的操作。当我们把任务(Task)当作消息发送到队列…

计算机思考与整理

应用程序 虚拟机 windows,linux等操作系统(向上层应用程序提供接口) x86架构,MIPS,ARM(提供指令集) 硬件组件 硬件组件(hardware components)是指构成计算机或电子设备的实体部分,它们包括各…

双向链表超详解——连我奶奶都能学会的复杂链表(带头双向循环)

文章目录 前言一、双向链表的概念二、双向链的结构设计三、双链表的基本功能接口四、双向链表接口的实现4.1、创建结点4.2、初始化链表4.3、打印链表4.4、尾插结点4.5、尾删结点4.6、头插结点4.7、头删结点4.8、在pos结点前面插入4.9、删除pos位置的结点4.10、查找链表中的某个…

spring aop核心原理概念

目录 概述aop核心概念解析Target(目标对象)Joinpoint(连接点)Advice(通知/增加)Pointcut(切入点)Aspect(切面)Advisor(通知器)Weaving(织入)Proxy(代理)Introduction(引介) 结束 概述 aop核心概念解析 Target(目标对象) 代理的目标对象 目标对象(Target)的确立,是…

云计算领域的第三代浪潮!

根据IDC不久前公布的数据,2023年上半年中国公有云服务整体市场规模(IaaS/PaaS/SaaS)为190.1亿美元,阿里云IaaS、PaaS市场份额分别为29.9%和27.9%,都远超第二名,是无可置疑的行业领头羊。 随着人工智能(AI)…

面试题:什么是自旋锁?自旋的好处和后果是什么呢?

文章目录 什么是自旋自旋和非自旋的获取锁的流程 自旋锁的好处AtomicLong 的实现实现一个可重入的自旋锁示例自旋的缺点适用场景 什么是自旋 “自旋”可以理解为“自我旋转”,这里的“旋转”指“循环”,比如 while 循环或者 for 循环。“自旋”就是自己…

pwn:[NISACTF 2022]ReorPwn?

题目 按正常方式走,发现指令被反着输出