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

web——[SUCTF 2019]EasySQL1——堆叠注入

这个题主要是讲述了堆叠注入的用法,来复现一下

什么是堆叠注入

堆叠注入:将多条SQL语句放在一起,并用分号;隔开。

1.查看数据库的名称

查看数据库名称

1;show databases;

发现有名称为ctftraining的数据库

2.对表进行查询

1;show tables;

发现有flag的表,说明东西就在flag中

3.此时我们想到,开始时我们输入1有会显,我们不妨再尝试输入0试试。

没有回显

字母也没有回显

输入abc发现依然没有回显。这时我们可以总结出一条规律,输入非0数字--有会显,输入0或字母--没有回显,我们由此可以猜测后端代码含有 ||或运算符。

补充:|| 或or 运算符讲解:
select command1 || command2 

情况一:若command1为非0数字,则结果为1。

情况二:若command1为0或字母,command2为非0数字,则结果为1。

情况三:command1和command2都不为非0数字,则结果为0。
                        
原文链接:https://blog.csdn.net/2302_79800344/article/details/136268777

方法一:使用 sql_mode 中的 PIPES_AS_CONCAT 函数。

PIPES_AS_CONCAT:将 || 或运算符 转换为 连接字符,即将||前后拼接到一起。

select 1 || flag from Flag的意思将变成 先查询1 再查询 flag,而不是查询1flag,只是查询的结果会拼接到一起,不要弄混淆了。

所以查询语句如下:

1;sql_mode=PIPES_AS_CONCAT;select 1

方法二:利用非预期漏洞获取flag。

1、非预期漏洞的概念:

若输入1,1。那么sql语句就变成了 select 1, 1 || flag from Flag。其中由 [1] 和 [1 || flag] 两部分组成,而非 [1,1] || [flag]。非预期漏洞是利用数据库对符号判断的不准确形成的漏洞。

输入 *,1 后,sql语句就变成了 select * , 1 || flag from Flag。

其中分为两部分: (1) select * from Flag(2) select 1 || flag from Flag。

select * from Flag 通过查看表Flag中的所有数据可以 get到flag。

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

相关文章:

  • 【Ubuntu学习】Ubuntu无法使用vim命令编辑
  • UniAPP u-popup 禁止背景滑动
  • F5全新报告揭示AI时代API安全面临严峻挑战
  • 使用C语言进行信号处理:从理论到实践的全面指南
  • 什么是工单管理系统?全面认识指南
  • 集群化消息服务解决方案
  • python数据结构操作与可视化的应用
  • 【基于轻量型架构的WEB开发】课程 作业4 AOP
  • 跨境独立站新手,如何用DuoPlus云手机破局海外社媒引流?
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】标题栏
  • 信息安全工程师(83)Windows操作系统安全分析与防护
  • QT Unknown module(s) in QT 以及maintenance tool的更详细用法(qt6.6.0)
  • 如何在vscode中安装git详细新手教程
  • JVM垃圾回收详解二(重点)
  • VLAN 高级技术实验
  • windowsC#-创建和引发异常
  • python爬虫案例——请求的网页源码被加密,解密方法全过程(19)
  • 详解广告联盟
  • Getting accurate time estimates from your tea(从您的团队获得准确的时间估计)
  • 攻防世界35-easyupload-CTFWeb
  • 在Mysql中,如何定位慢查询
  • CSS教程(三)- CSS 三大特性
  • 如何保证Redis与MySQL双写一致性
  • 【IC每日一题:IC验证面试--UVM验证-2】
  • SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记
  • #揭秘万维网:从静态页面到智能互联网
  • 【计算机基础——数据结构——红黑树】
  • Sentinel — 微服务保护
  • Cynet:全方位一体化安全防护工具
  • python中常见的8种数据结构之一数组的应用