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

ctf show web 入门171

这是一道sql注入题所以我们首先判断闭合方式

我们先输入

1'

如果页面报错,说明单引号极有可能是闭合字符,因为单引号和前面的单引号配对了,导致后面多出了一个孤立的单引号,破坏了结构

当找到某个字符让页面报错后,在这个字符后面加上注释符。如果页面恢复正常,说明成功找到了正确的闭合方式

然后开始确定字段数这里我们可以由图猜测有三个,也可以进行验证

1' order by 3 --+

1' order by 4--+

然后进行union注入

1' union select 1,2,3--+

先查数据库名

-1' union select 1,database(),3--+

再查表名

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

再查字段名

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

最后一步查找flag

-1' union select 1,username,password from ctfshow_user--+

本题还有一种简单的方法

用万能密码:1' or '1'='1

因为输入万能密码后sql语句变成了

select username,password from user where username !='flag' and id = '1' or '1'='1' limit 1;

输入的第一个单引号',提早闭合了原本包裹id值的那个单引号。这就让原本属于“数据”的or '1,变成了“SQL 执行代码”。

在 MySQL 数据库中,逻辑运算符的优先级是:and 优先级高于 or

因此,数据库在解析这一行复杂的where条件时,会自动给它加上括号,分成前后两部分:

  • 前半部分 (A):(username !='flag' and id = '1')

    • 数据库去查,发现 ID 为 1 的用户名字不叫 flag。所以对第一条记录来说,前半部分是真 (True)

    • 但到了第 26 条记录(flag 所在的那一条),因为它的名字叫 flag,所以前半部分就变成了假 (False)

  • 后半部分 (B):('1')

    • 在 SQL 中,非零数字或纯数字字符串'1'会被当做布尔值处理,结果永远是真(True)

根据逻辑代数规则,False OR True最终的结果必定是True(恒真)

3. 绕过限制

因为整句where条件变成了“恒真”(相当于where 1),原本用来限制username != 'flag'的 AND 条件直接被 OR 顶掉了,当场失效

数据库此时不再看任何条件,直接把user表里的所有数据全部吐了出来,这就包括了那条原本被隐藏的、包含 Flag 的记录。

但是当直接输入26时username !='flag' and id = '26'的前半部分为false

false and true还是false

http://www.zskr.cn/news/1382838.html

相关文章:

  • 陕西西安月嫂怎么选?五大机构深度测评,孕产家庭省心避坑指南 - 深度智识库
  • 企业网盘怎么选?2026 年 10 款团队协作工具对比
  • 零阶优化:超越梯度下降的神经网络训练新范式
  • 个人企业通用活动报名小程序管理系统
  • 成都学车靠谱判定指南:西华驾校核心维度解析 - 奔跑123
  • 【仅限首批200位架构师获取】DeepSeek v3.2设计模式补丁包:含4个已验证的Pattern-Override补丁
  • 合肥工业大学高等数学A(下)期末试卷及答案2016-2025年
  • Claude辅助数据库设计的7大黄金法则:从ER图生成到SQL优化,一线团队已验证有效
  • DeepSeek推理速度提升300%?揭秘LLM量化压缩与KV缓存优化实战路径
  • 微服务寻址的“智慧大脑”:一篇文章彻底搞懂 Nacos 注册中心与实战
  • PDF4QT:如何用开源工具彻底解决你的PDF文档处理难题?
  • 微服务架构的“动态遥控器”:一篇文章彻底搞懂 Nacos 配置中心与实战
  • 从碎片到系统:用kepano-obsidian构建你的个人知识宇宙
  • 权威发布:2026 劳力士全国官方维修网点名录(更新至 5 月,含迁址明细) - 速递信息
  • 广告人必备商务需求对接平台——「广易源」
  • AI 到底是怎么访问网页的?从爬虫、Browser Agent 到 Computer Use
  • 2025-2026年国内巨量本地推代理推荐:TOP5榜单评测本地推成本控制市场份额价格
  • AI掘金头条新闻系统 (Toutiao News)-用户注册-生成Token
  • 大连GEO优化公司全域实践解析——即搜AI(大连运营中心)的合规化GEO优化路径 - 品牌评测官
  • 2026武汉名包回收哪家强?别再被坑了,听我句劝! - 奢侈品回收测评
  • 国科安芯AS32A601芯片及ANSIC-EVB601开发平台获OneWo-zepLinux全面适配支持
  • 12周小学期任务进度
  • 肖有米开发团队:推三返一模式系统开发-推三返一商业平台小程序介绍
  • 接口测试用例设计:超详细防御体系与分层校验实践
  • 为 Node.js 后端服务接入 Taotoken 多模型 API 的详细步骤
  • 单机部署DeepSeek-R1-32B,实测吞吐达114 tokens/sec(附完整Prometheus+Grafana监控看板配置)
  • OpenSSH scp命令注入漏洞CVE-2020-15778深度解析与三层防御
  • Java Core 50 个顶级求职面试问题与答案。第二部分
  • Topit:如何在Mac上实现一键窗口置顶,让多任务处理效率翻倍?
  • 机器学习势函数进阶:Hessian矩阵训练如何提升分子模拟精度与数据效率