当前位置: 首页 > news >正文

[SUCTF 2019]EasySQL1

这是一个简单的SQL注入题,但是因为我的SQL基础约等于0,所以做起来很难。

首先试试引号是否被过滤

可以看到单引号、双引号都被过滤了,试试其他的盲注都不行,基本上可以确定不能用这种方法。

在测试的过程中发现,输入数字会返回1,输入字母则不显示任何内容。所以推测后端是这样的结构:

select $_POST['query'] || flag from Flag

如果||左边执行成功,则返回。所以这里可以构造payload:*,1

拿到flag,select *,1||flag from Flag 。奇怪的是 payload如果是 1,*则不显示任何内容。还是学的不深,经验不够。

除了这种盲注,还可以用堆叠注入的方式,先试一下能否进行堆叠注入。1;show databases;#

查询到了数据库。接着看看数据表。2;showtables;#

 可以看到有个Flag表,那么flag应该就在这个表里了。2;show columns from Flag;#

返回nonono,猜测过滤了Flag。所以更加确定后端语句中有 || flag From Flag这样的结构。这里再次想到拼接。即使用payload 2;select *,1

 

可以看到得到了Flag,其实跟第一种方法差不多,主要是猜测出存在 ||flag from Flag的结构。

除了拼接合适的SQL语句外,还可以修改SQL语句的模式,让||不是作为或逻辑运算符,而是作为字符连接符。

 

这样是把 select 1|| flage from Flag  替换成 select 1flag From Flag,可以看到查询的结果是1flag,不知道为啥这样也能把flag提取出来,后面做多了可能能想明白。

http://www.lryc.cn/news/403120.html

相关文章:

  • elasticsearch, kibana, 6.8.18 版本下的创建索引,指定timestamp,java CRUD,maven版本等
  • 无人机侦察:二维机扫雷达探测设备技术详解
  • 未来互联网的新篇章:深度解析Web3技术
  • vst 算法R语言手工实现 | Seurat4 筛选高变基因的算法
  • 阿里通义千问大模型Qwen2-72B-Instruct通用能力登顶国内第一!
  • CH04_依赖项属性
  • CentOS 7开启SSH连接
  • 代理伺服器分類詳解
  • 计数,桶与基数排序
  • unity渲染人物模型透明度问题
  • CH03_布局
  • 【Oracle】Oracle中的merge into
  • 【论文阅读笔记】In Search of an Understandable Consensus Algorithm (Extended Version)
  • CentOS 7 网络配置
  • 2024 React 和 Vue 的生态工具
  • AI学习指南机器学习篇-t-SNE模型应用与Python实践
  • 小试牛刀-Telebot区块链游戏机器人
  • 使用github actions构建多平台electron应用
  • java通过pdf-box插件完成对pdf文件中图片/文字的替换
  • 鸿蒙 next 5.0 版本页面跳转传参 接受参数 ,,接受的时候 要先定义接受参数的类型, 代码可以直接CV使用 [教程]
  • 【electron6】浏览器实时播放PCM数据
  • 嵌入式C/C++、FreeRTOS、STM32F407VGT6和TCP:智能家居安防系统的全流程介绍(代码示例)
  • 【Django】django自带后台管理系统样式错乱,uwsgi启动css格式消失的问题
  • 解决npm install(‘proxy‘ config is set properly. See: ‘npm help config‘)失败问题
  • 汽车及零部件研发项目管理系统:一汽东机工选择奥博思 PowerProject 提升研发项目管理效率
  • Keil开发IDE
  • 数据结构与算法05堆|建堆|Top-k问题
  • 【精简版】jQuery 中的 Ajax 详解
  • win10删除鼠标右键选项
  • 分层评估的艺术:sklearn中的策略与实践