[LitCTF 2023]这是什么?SQL !注一下 !

知识点补充

借用探姬师傅的sql文档

https://github.com/ProbiusOfficial/CTF-QuickStart/blob/main/SQL注入入门.md

解题思路

1.根据sql语句提示,随便传入一个数字,先闭合括号 然后用注释符号注释掉后面的括号,我们就能在中间执行对应的SQL语句

sql 复制代码
sql = "SELECT username,password FROM users WHERE id = ".'(((((('.$_GET["id"].'))))))';
sql = "SELECT username,password FROM users WHERE id = ":这是一个SQL查询的一部分,目的是从users表中选择username和password字段,条件是基于id字段。

'(((((('.$_GET["id"].'))))))':这部分使用PHP的字符串连接操作符(.)将多个括号和$_GET["id"]的值添加到SQL字符串中。

$_GET["id"]:从URL的GET参数中获取名为id的值。例如,如果URL是http://example.com/page.php?id=1,那么$_GET["id"]就是1。

整个表达式在$_GET["id"]值的前后各添加了五个括号:前面是(((((,后面是)))))。

2.根据sql内容可以知道这里面只有两列(字段),借助HackBar的自带预处理语句进行注入

3.先对库名进行爆破(列数一定要大于等于输出的数)

4.得到回显

5.根据回显分析得出最有可能存在flag的在ctftraining,test,ctf这几个表中,一个一个进行爆破(在爆ctftraining发现里面存在flag)

6.得知flag在 ctftraining 库中的 ctf 表里面,所以使用联合查询直接拿flag

相关推荐
heartbeat..4 小时前
Spring AOP 全面详解(通俗易懂 + 核心知识点 + 完整案例)
java·数据库·spring·aop
麦聪聊数据6 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
&岁月不待人&7 小时前
⏺ Android 录屏缩放异常排查:Pixel 3 XL 上的完美风暴
android
a3158238067 小时前
Android 大图显示策略优化显示(一)
android·算法·图片加载·大图片
tangweiguo030519877 小时前
从零开始:在 Windows 上使用命令行编译 Android .so 动态库(NDK + CMake + Ninja)
android
AC赳赳老秦7 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
阿波罗尼亚7 小时前
Tcp SSE Utils
android·java·tcp/ip
YMatrix 官方技术社区8 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix
辞砚技术录9 小时前
MySQL面试题——索引2nd
数据库·mysql·面试
linweidong9 小时前
C++thread pool(线程池)设计应关注哪些扩展性问题?
java·数据库·c++