首页 > 其他分享 >[强网杯 2019]随便注

[强网杯 2019]随便注

时间:2023-07-17 22:45:26浏览次数:33  
标签:语句 堆叠 回显 show 随便 强网杯 2019 select 注入

[强网杯 2019]随便注

题目来源:buuctf

题目类型:web

涉及考点:SQL注入、堆叠注入

1. 先简单介绍一下堆叠注入

在SQL语句中,分号用来表示一条语句的结束。那么当我们结束一条语句之后,继续构造下一条语句,可不可以一起执行呢?这就是堆叠注入,简单来说,就是把多条SQL语句一起上传。

例如,我们在进行union注入时会构造这样的语句:

select * from user where id=1 union select ...

而堆叠注入会构造这样的语句:

select * from user where id=1; show database(); ...

2. 接下来我们看到题目给了一个提交窗口,输入框内默认提交1

我们直接提交看看:

我们再提交个2:

传入值大于2之后就没有回显了,没得到什么有效的信息,那就直接尝试注入吧

3. 注入过程

  • 注入点在url中提示我们了,就是inject,并且利用get传参
  • 先判断闭合方式:

传入 1' 报错如下,可以判断闭合类型为单引号闭合

  • 我们先利用union注入查询数据库名,传入1' union select database()#,得到回显如下:
  • 可以发现上述关键字均被屏蔽,这时只能考虑使用堆叠注入:

传入1'; show database();#虽然回显不变,但是说明堆叠注入可行

  • 那怎么拿到数据库名呢,这时候就该利用报错注入了,因为报错注入里爆库名不需要利用到select,那么构造payload如:
1' and (extractvalue(1,concat(0x7e,database(),0x7e)))#

拿到库名:

  • 爆表名:
1';show tables#
  • 发现两张表,我们分别查看:
  1. 第一张
1';show columns from `1919810931114514`#
  1. 第二张
1';show columns from `words`#

这里在表名左右加单引号闭合的时候一直没有回显,看了其他师傅的wp才知道要用``做闭合,这里说明一下原因:

关于单引号 ' 和飘号 ` (个人习惯叫飘号),两者在linux下和windows下不同,linux下不区分,windows下区分

单引号 ' 或双引号 " 主要用于字符串的引用符号

飘号 ` 用于数据库、表、索引、列和别名

有MySQL保留字作为字段的,必须加上飘号来区分

  • 我们在第一张表中发现了flag,那么接下来需要查询id,利用堆叠注入构造payload如下:
-1';use supersqli;set @sql=concat('s','elect flag from `1919810931114514`');PREPARE payl from @sql;execute payl#

因为还是需要使用到select关键字,所以这里利用字符串拼接加执行函数execute解决。

最终得到flag:

flag{7e12ae2e-ef19-40a7-9e62-467eb6f949ba}

日期:2023.7.17

作者:y0Zero

标签:语句,堆叠,回显,show,随便,强网杯,2019,select,注入
From: https://www.cnblogs.com/bkofyZ/p/17561464.html

相关文章

  • CVE-2019-11043(PHP远程代码执行漏洞)复现
    一、漏洞介绍1、相关背景在web早期,页面都是以静态页面为主(如:HTML),没有动态页面的说法,所有还没有动态语言(如:PHP、JSP等)后来Ngnix为支持PHP语言就将有出现php页面的请求给PHP相关程序来进行处理,然后将处理后的结果反馈给用户。而解决PHP的相关程序就是cgi协议,有了cgi协议以后......
  • BUU Re childRe 和 [SWPU2019]ReverseMe
    childRe  符号生成规则:C++函数符号生成规则:private:char*__thiscallR0Pxx::My_Aut0_PWN(unsignedchar*)得到?My_Aut0_PWN@ROPxx@@AAEPADPAE@Z 二叉树:下面给出实操(如何利用这个对应关系): 以及列表下标的应用:主要是indexa=list("1234567890-=!@#$%^&*()_+qw......
  • 机器翻译|EMNLP 2019大规模利用单语数据提升神经机器翻译
    目前,目标语言端的无标注单语数据已被广泛应用于在机器翻译任务中。然而,目标语言端的无标注数据一旦使用不当,反而会给模型结果带来负面影响。为了有效利用大规模源语言端和目标语言端的单语数据,微软亚洲研究院在EMNLP2019上发表的论文中,提出一种简单的语料数据使用流程,只需要四......
  • [极客大挑战 2019]EasySQL
    [极客大挑战2019]EasySQL题目来源:buuctf题目类型:web涉及考点:SQL注入先看题目,给了两个输入框:随便输入几个数进去,例如username=123,password=123:页面回显说是错误的用户密码,但注意到url中采用的是get传参:下一步寻找注入点,我们可以假设数据库中的查询语句为:select......
  • 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。......