[SUCTF2019]EasySQL

这个连闭合都测试不出来,就有点无从下手了。

额,随手输了一个1;show tables;出来了表名。一通操作之后,点开了别人的wp,学习了一波。

然后知道了题目中的查询语句是怎么样的了,

sql="select".post['query']."||flag form Flag"

并且知道了,这个是拼接出来的语句,此处||的作用相当于是or;

解法一:

额,既然知道了闭合方式,尝试构造

首先,观察,我们可以传递一个*进去,查询所有数据,如果有限制,随后在做修改;其次,我们需要将||flag给“吃掉”

于是构造出payload:qurey=*,1

即可获得flag:

*,1说明

  • *,1作用

    *代表查询搜有数据;1是跟||flag做判断,进行了运算。由于1这一列是“存在”的(是临时增加的),得到1;

    所以语句select *,1||flag from Flag成了select *,1 from Flag

  • *,*行不行

    不行,且不知道原因

  • 数字不能出现在*前,即1,*是错误的

    额,知道原因,说不清楚;意思就是说,临时增加的列,不能够对原来的表造成任何影响。如果临时增加的列在了*前面那么原来的列的序号就会发生改变。如图:

  • ,12,1 在后面随便跟数字也行

解法二:

playload:query=1;set sql_mode=pipes_as_concat;select 1

说明:

PIPES_AS_CONCAT:将“||”视为字符串的连接符号,而不是操作符号,这个和Oracle数据库是一样的,也和字符串拼接函数Concat相似。

注意:这里的payload不能拆分,单独执行

因为,select 99和两个ARRAY,足以说明已经将||视为连接符号

反思:

哇,由于以前做的题类型,都是对限制条件进行注入和绕过,还没有做过注入,所以,想也想不到是构造查询的列。

再加上,对于我来说,第一步,必然是找闭合方式,如果闭合方式找不到,也就没法做题了(只是对我来说),别说盲注什么的了,就连下一步的勇气都没了。

参考:https://blog.csdn.net/weixin_44866139/article/details/105857487

BUUCTF-[SUCTF2019]EasySQL的更多相关文章

  1. buuctf刷题之旅—web—EasySQL

    打开环境,发现依旧是sql注入 GitHub上有源码(https://github.com/team-su/SUCTF-2019/tree/master/Web/easy_sql) index.php ...

  2. [BUUCTF]REVERSE——[SUCTF2019]SignIn

    [SUCTF2019]SignIn 附件 步骤: 无壳,64位ida载入 程序调用了 __gmpz_init_set_str 函数,这是一个 GNU 高精度算法库,在RSA加密中见过几次,加上6553 ...

  3. BUUCTF | [SUCTF 2019]EasySQL (堆叠注入)

    fuzz ing了一下,发现了一堆过滤: 同时发现了注入点,这个应该是var_dump()函数 ===============第二天的分割线 好吧我放弃了,找了一下wp 正确解:select 1;se ...

  4. BUUCTF [SUCTF 2019]EasySQL

    首先打开网址 发现有三种显示方法 还有一个没有输出 可以堆叠注入 1;show databases; 1;show tables; 可以看到有一个Flag表 测试发现from flag都被过滤不能直接 ...

  5. buuctf Easysql 小记

    堆叠注入 利用原理: 补充系统变量@@sql_modesql_mode:是一组mysql支持的基本语法及校验规则PIPES_AS_CONCAT:将“||”视为字符串的连接操作符而非或运算符,这和Ora ...

  6. BUUCTF知识记录

    [强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update, ...

  7. BUUCTF[归纳]sql注入相关题目

    这是我自己对于sql注入的部分ctf题型的归纳,均来自buuctf的平台环境. [0CTF 2016]piapiapia 我尝试了几种payload,发现有两种情况. 第一种:Invalid user ...

  8. never下的easysql

    什么是EasySql 在我们早期写的代码中,想实现组装灵活的sql语句与参数,我们可以去翻阅早期自己写的代码 var @sb = new StringBuilder(); sb.Append(&quo ...

  9. 刷题记录:[BUUCTF 2018]Online Tool

    目录 刷题记录:[BUUCTF 2018]Online Tool 一.知识点 1.escapeshellarg和escapeshellcmd使用不当导致rce 刷题记录:[BUUCTF 2018]On ...

  10. 刷题记录:[SUCTF 2019]EasySQL

    目录 刷题记录:[SUCTF 2019]EasySQL 一.涉及知识点 1.堆叠注入 2.set sql_mode=PIPES_AS_CONCAT;将||视为字符串的连接操作符而非或运算符 3.没有过 ...

随机推荐

  1. MySQL JDBC驱动版本与数据库版本的对应关系及注意事项

    MySQL JDBC驱动版本与数据库版本的对应关系及注意事项 事情发生 学了三遍的servlet,经典老师又教的第一万遍登陆注册,并且让实现,并且让演示,我们老师可能和之前的小学期公司老师 完全没有沟 ...

  2. 树莓派蓝牙rfcomm协议通信

    修改配置文件 手机使用 "蓝牙串口" 软件,树莓派上修改文件/etc/systemd/system/dbus-org.bluez.service ExecStart=/usr/li ...

  3. 关于Linux mint更换中文字体后全局楷体修改办法

    问题描述 linux mint 更新中文字体后,全局都变成了楷体,浏览器里面,终端里(英文字体可以在终端设置里面修改),这里指的是中文字体,而英文字体可以在 linux mint 设置 - 选择字体 ...

  4. -webkit-box-orient:vertical 编译报错之autoprefixer问题

    由于各大浏览器的兼容问题,autoprefixer 插件 就可以帮我们自动补齐前缀.它和 less.scss 这样的预处理器不同,它属于后置处理器. 预处理器:在打包之前进行处理 后置处理器:在代码打 ...

  5. Go 的windows安装与环境配置

    1.请前往go的官网下载安装包:https://golang.org/dl/ 安装你如果C盘够大比较土豪就一路next即可,在这里小编穷就安装到了D:\Program Files\Go 2.环境变量配 ...

  6. 锂电池升压芯片,IC电路图资料

    锂电池常规的供电电压范围是3V-4.2V之间,标称电压是3.7V.锂电池具有宽供电电压范围,需要进行降压或者升压到固定电压值,进行恒压输出,同时根据输出功率的不同,(输出功率=输出电压乘以输出电流). ...

  7. ArcObjects SDK开发 011 RasterLayer

    1.RasterLayer的结构 图层的话,除了FeatureLayer外,用的最多的就是RasterLayer了.较FeatureLayer而言,RasterLayer比较简单,这点可以从栅格图层的 ...

  8. Backbone 网络-ResNet v2 详解

    目录 目录 目录 前言 摘要 1.介绍 2.深度残差网络的分析 3.On the Importance of Identity Skip Connection 4.On the Usage of Ac ...

  9. Dart开发服务端,我是不是发烧(骚)了?

    前言 最近一段时间,我和我的团队开发了两个 APP. 客户端方面采用了 Flutter,方便跨平台. 服务端方面剑走偏锋,没有采用 php, pythod, java之类的,而是采用了与 Flutte ...

  10. mysql报错:【系统出错。发生系统错误 1067。进程意外终止。】解决

    目录 问题描述 错误排查 1.检查3306端口是否被占用 2.使用window事件查看器 总结 问题描述 使用管理员cmd,任务管理器均无法启动mysql. 报错提示信息:系统出错.发生系统错误 10 ...