首页 > 数据库 >[极客大挑战 2019]EasySQL

[极客大挑战 2019]EasySQL

时间:2023-07-14 22:45:15浏览次数:42  
标签:username 语句 极客 引号 查询 EasySQL 2019 报错 password

[极客大挑战 2019]EasySQL

题目来源:buuctf

题目类型:web

涉及考点:SQL注入

  1. 先看题目,给了两个输入框:

image-20230714215235773

  1. 随便输入几个数进去,例如username=123,password=123:

image-20230714215328636

  • 页面回显说是错误的用户密码,但注意到url中采用的是get传参:

image-20230714215504563

  1. 下一步寻找注入点,我们可以假设数据库中的查询语句为:
select * from user where username='$username' and password='$password' ....(后续内容);

那么这时我们构造payload如username=1' or 1=1 ; password=1' or 1=1,查询语句就变为了:

select * from user where username='1' or 1=1' and password='1' or 1=1' ....(后续内容);

注意此时单引号的闭合情况为:

'1'						//左边的引号为查询语句中自带的引号,右边的引号为传入username中的引号
' and password='		//左边的引号为查询语句中username的第二个引号,右边的引号为查询语句中password的第一个引号
' or 1=1'				//左边的引号为传入password中的引号,右边的引号为查询语句中password的第二个引号

很明显在username='1'之后的内容应该会报错,我们将构造的payload传入,发现页面确实有报错回显:

image-20230714221302731

且报错信息与我们预测的一致。

在注入的过程中,会遇到很多奇怪的闭合,大家可以多多尝试

假设此处我们构造的是双引号的闭合,例如username=1" or 1=1,password=1" or 1=1,则按照假设的查询语句变为如下:

select * from user where username='1" or 1=1' and password='1" or 1=1' ....(后续内容);

此时查询语句自身的单引号成功闭合,传入的双引号被当作字符闭合进单引号内,因此不会报错。

  1. 确定了password为注入点后,我们把username的闭合去掉,在password最后加上注释符号,将后续内容给注释掉,避免报错。最终构造的payload如下:
select * from user where username='1' and password='1' or 1=1#' ....(后续内容);

将其传入得到flag:

image-20230714222135769

flag{594f938c-a447-4a3b-a595-2d93ac20a30b}

日期:2023.7.14

作者:y0Zero

标签:username,语句,极客,引号,查询,EasySQL,2019,报错,password
From: https://www.cnblogs.com/bkofyZ/p/17555167.html

相关文章

  • 7DGroup性能&测试开发文章持续更新(2019/10/15)
    性能闲谈系列:浅谈window桌面GUI技术及图像渲染性能测试实践杂谈:性能测试的范围到底有多大?戏说CPU使用率-驳《CPU使用率度量指标是扯淡!》译文标题对性能测试评估分析优化市场的反思泛谈系统级跟踪和应用级跟踪性能测试分析优化该有的范围期待996ICU的条款尽早加入到开源协议中!性能基......
  • P6109 [Ynoi2019] rprmq1
    LuoguP6109[Ynoi2009]rprmq1LuoguP6109题目背景我谔谔本题读入量约13MB,输出量约7MB,请选择合适的输入输出方法题目描述有一个\(n\timesn\)的矩阵\(a\),初始全是\(0\),有\(m\)次修改操作和\(q\)次查询操作,先进行所有修改操作,然后进行所有查询操作。一次修改......
  • [安洵杯 2019]crackMe
    [安洵杯2019]crackMe将exe文件放入ida打开后,首先按shift+F12查看字符串,发现了base64的编码表和一串疑似经过加密/编码处理过后的字符串此时推测该字符串不是由正常base64编码得来,可能进行了换码操作,因此点进引用了该编码表的地方此时发现该函数对base64的编码表进行了大小写......
  • AT_bcu30_2019_qual_a 题解
    思路纯模拟题,给定N和P后,定义一个计数器sum,重复N次输入,每输入一次就判断P也就是子弹的能量是否≥每面墙的厚度x,如果是,就用P减去x,sum增加1,表示穿过了一面墙,否则跳出循环,输出sum。代码#include<iostream>usingnamespacestd;intmain(){intn,p,sum=0,......
  • AT_nikkei2019ex_h 题解
    思路这是一道博弈题,最优策略是高桥的k一直是1,青木的k一直是0,可以保证拿走的硬币不超过剩下的硬币,这样每次两人都取完后拿走硬币的数量是8^1+8^0,结果是9,那么就用Nmod9,得出的结果就是剩下的硬币。如果结果是0,那么最后拿的就是青木,输出Lose。如果结果是2、4、6,都......
  • AT_nikkei2019ex_e 题解
    思路进题扫一眼题目描述,可以写成这样:是不是很眼熟?这不就是角谷猜想嘛,但它不是让我们求步数果,而是求结果。它给了步数,求结果那就要倒推,第二个样例给了P最大时,也就是1000输出的结果1789997546303,我们就用这个结果往前推,带入角谷猜想的运算过程,就可以了。记得开longlong。......
  • Visual Studio2019 BackgoroundImageLayout属性
    ​BackgroundImageLayout属性值背景图片重复:BackgroundImageLayout属性设置为Tile(默认)背景图片左边显示:BackgroundImageLayout属性设置为None背景图片右边显示:BackgroundImageLayout属性设置为None,同时RightToLeft属性设置为Yes背景图片居中显示:BackgroundImageLayout属性设......
  • 2019年中国公有云厂商发展状况白皮书
     前 言     云发展白皮书做了三年的中国公有云厂商收入利润综合排名,到了这次想要继续推出来,在文章快要完成三分之二的时候,突然有了更强烈的想法,就是立足中国公有云厂商收入利润综合排名,直接升级为:2019年中国公有云厂商发展状况白皮书。一方面,让大家可以更全面了解公有云及......
  • 2019年中国公有云厂商收入利润排名
    继续延续了往年的统计方法,即:云计算是一个筐,什么都可往里装。 从公有云到私有云,从私有云到公有云,抑或还采取混合云,企业上云变得十分普遍。行业数字化转型,在很大程度上推动了公有云厂商进入了一个发展的新阶段。从而,也促使2019年中国公有云厂商获得了更好的发展结果。 据阿明(Aming)......
  • 【直播预告】HarmonyOS极客松赋能直播第四期:HarmonyOS开发经验分享
        ......