给她ctf.show

你之前的所有尝试(万能密码、0# 绕过、|| 绕过)都是错的,因为这道题不是直接的 SQL 注入登录 ,而是一道结合了 sprintf 函数注入 + Git 源码泄露 + ASCII/HEX 编码绕过 的复合题。

现在根据题解思路,给你整理 100% 通关的详细步骤


第一步:发现 Git 泄露(关键突破口)

  1. 现象:你常规注入发现被过滤(单引号被转义),走投无路时扫描目录。
  2. 操作 :使用工具扫描网站根目录,发现存在 .git/ 目录泄露。
  3. 下载源码
    • 本地安装 githack 工具(或使用 gitclone 下载)。
    • 执行命令:python githack.py urlgit clone https://xxx.challenge.ctf.show/.git/
    • 下载到服务器源码,找到核心文件(通常是 hint.phpindex.php)。

第二步:分析 sprintf 函数漏洞

  1. 源码分析 :查看下载的 PHP 源码,会发现后端使用了 sprintf() 函数。

    php

    运行

    复制代码
    // 伪代码逻辑
    $sql = sprintf("select * from user where name='%s' and pass='%s'", $name, $pass);
  2. 漏洞原理sprintf 函数在处理 % 符号 时有特殊解析逻辑。

    • 如果你输入的参数中包含 %sprintf 会把它当作格式化占位符去解析,而不是普通字符串。
    • 利用这个特性,可以绕过单引号转义 ,不需要闭合 ' 就能注入逻辑。

第三步:构造特殊 Payload(绕过单引号)

**放弃常规的 ' or 1=1 #,改用 % 逃逸 Payload。**在浏览器地址栏构造 URL:

text

复制代码
https://d4f4d738-107d-48b2-9790-bd6b9db7bb44.challenge.ctf.show/?name=admin&pass=123%1$%27or%201=1%23
为什么要这样写?(核心原理)
  1. %1$ :告诉 sprintf 复用第一个参数(name),利用格式化漏洞吃掉后面的单引号。
  2. %27 :URL 编码,代表单引号 '
  3. or 1=1:构造永真条件。
  4. %23 :URL 编码,代表注释符 #
  5. 最终效果:成功绕过转义,让 SQL 条件永真,登录成功。

第四步:抓包分析与获取提示(Flag 藏法)

  1. 页面报错:访问上述 URL,页面可能会报错或显示特定信息。
  2. 抓包分析
    • 使用 Burp Suite 抓包。
    • 观察请求头或参数,发现有一个 file 字段(或者是页面提示 flag in /flag)。
  3. 读取 Flag 文件
    • 题解提示:Flag 存在于服务器的 /flag 文件中。
    • 利用之前的注入漏洞,或者直接构造路径访问,读取 /flag 文件内容。
    • 注意编码:抓到的 Flag 内容通常是经过 ASCII 或 HEX 编码的(比如显示为一堆乱码或数字)。

第五步:解码并提交 Flag

  1. 解码操作
    • 将抓取到的编码内容(如 HEX 字符串或 ASCII 码)进行解码。
    • 例如:66 6C 61 67 7B ... (HEX) 解码为 flag{...}
  2. 最终提交
    • 将解码后的标准 Flag 格式(ctfshow{xxxxxx})复制到 CTFShow 题目弹窗的 Flag 输入框。
    • 点击 Submit 即可通关。

总结:你的之前思路为什么不对?

表格

你的思路 正确思路
直接用 ' or 1=1 单引号被 addslashes 强制转义,无法闭合
0 或 ` ` 绕过 数据库中存在真实数据,弱类型比较不成立
纯 SQL 注入登录 这是一道混合题 ,必须先利用 sprintf % 漏洞绕过,再读文件

现在的最终通关 URL(简化版 Payload):

text

复制代码
https://d4f4d738-107d-48b2-9790-bd6b9db7bb44.challenge.ctf.show/?name=0&pass=0%1$or%201=1

访问这个 URL 登录成功后,按照题解抓包读取 /flag 文件并解码即可。

相关推荐
悟道子HD8 小时前
SRC漏洞挖掘——2.SQL注入漏洞实战详解
sql·web安全·网络安全·渗透测试·sql注入·sqlmap·暴力破解
zjeweler11 小时前
网安护网面试-2-国誉护网面试
web安全·网络安全·面试·职场和发展·护网行动·护网面试
pencek13 小时前
HakcMyVM-Quick
网络安全
程序员晓晓14 小时前
【网络安全零基础入门】应急响应之服务器入侵排查,小白零基础入门到精通教程
服务器·web安全·计算机·网络安全·渗透测试·黑客技术·网安应急响应
vortex516 小时前
基于资源约束的委派 (RBCD) 利用细节
网络·网络协议·网络安全·内网渗透·ad域
菩提小狗16 小时前
每日安全情报报告 · 2026-04-11
网络安全·漏洞·cve·安全情报·每日安全
oi..16 小时前
CSRF安全攻防:Referer 校验与 Token 防护详解
前端·网络·笔记·测试工具·安全·网络安全·csrf
pencek16 小时前
HakcMyVM-Quick2
网络安全
千枫s1 天前
kali 免杀木马
网络安全