第十八届CISCN决赛CTF Hard php题解
字数 877 2025-09-01 11:26:02

CISCN决赛CTF Hard PHP题解 - 笛卡尔积注入与环境变量注入

题目概述

这是第十八届CISCN决赛第一日CTF的一道Web题目,题目部署在玄机平台上。题目包含两个主要漏洞点:笛卡尔积注入和环境变量注入。

第一部分:笛卡尔积注入

漏洞位置

题目开局是一个登录框,在密码输入处存在SQL注入漏洞。

注入特点

  • 存在SQL注入黑名单
  • 联合注入、布尔盲注被过滤
  • 时间盲注中的sleep函数被过滤

笛卡尔积注入原理

笛卡尔积注入利用数据库在大量数据下进行笛卡尔积查询时计算需要一定时间的特性,通过时延来判断给定条件是否正确。

在MySQL中,information_schema.columns表存放所有表的字段,数据量极大,适合用于笛卡尔积延时注入。

常用Payload

SELECT count(*) FROM information_schema.columns A, information_schema.columns B

构造盲注Payload

  • 空格和=被过滤,使用/**/like替换
  • 使用MySQL的if函数(类似三目运算符)

示例Payload:

if(admin的密码开头是t, (SELECT count(*) FROM information_schema.columns A, information_schema.columns B), 0)

实际攻击脚本注意事项

  • 盲注字符不要带有%,否则易判断错误
  • 通过时延判断条件是否正确

注入结果

通过笛卡尔积注入获得admin的密码:this_is_a_strong_password

第二部分:环境变量注入

漏洞文件

登录后访问adca4977cb42016071530fb8888105c7.php

漏洞原理

参考P牛文章:如何通过环境变量注入攻击Bash

过滤限制

  • 过滤了很多关键词
  • 过滤了"flag"的每个字符

绕过技巧

  • 根目录flag文件名为/f1ag
  • 使用/*1*绕过过滤
  • 使用pr命令读取文件

利用方法

构造合适的命令读取flag文件,例如:

pr /*1*

总结

这道题目结合了两种高级注入技术:

  1. 在传统注入被过滤时使用笛卡尔积注入
  2. 通过环境变量注入绕过严格的过滤限制

关键点:

  • 理解笛卡尔积注入的时延原理
  • 掌握绕过过滤的技巧(如/**/替代空格,like替代=
  • 了解环境变量注入的利用方式
  • 掌握特殊文件名读取技巧(/*1*

这些技术在CTF比赛和实际渗透测试中都有重要应用价值。

CISCN决赛CTF Hard PHP题解 - 笛卡尔积注入与环境变量注入 题目概述 这是第十八届CISCN决赛第一日CTF的一道Web题目,题目部署在玄机平台上。题目包含两个主要漏洞点:笛卡尔积注入和环境变量注入。 第一部分:笛卡尔积注入 漏洞位置 题目开局是一个登录框,在密码输入处存在SQL注入漏洞。 注入特点 存在SQL注入黑名单 联合注入、布尔盲注被过滤 时间盲注中的 sleep 函数被过滤 笛卡尔积注入原理 笛卡尔积注入利用数据库在大量数据下进行笛卡尔积查询时计算需要一定时间的特性,通过时延来判断给定条件是否正确。 在MySQL中, information_schema.columns 表存放所有表的字段,数据量极大,适合用于笛卡尔积延时注入。 常用Payload 构造盲注Payload 空格和 = 被过滤,使用 /**/ 和 like 替换 使用MySQL的 if 函数(类似三目运算符) 示例Payload: 实际攻击脚本注意事项 盲注字符不要带有 % ,否则易判断错误 通过时延判断条件是否正确 注入结果 通过笛卡尔积注入获得admin的密码: this_is_a_strong_password 第二部分:环境变量注入 漏洞文件 登录后访问 adca4977cb42016071530fb8888105c7.php 漏洞原理 参考P牛文章: 如何通过环境变量注入攻击Bash 过滤限制 过滤了很多关键词 过滤了"flag"的每个字符 绕过技巧 根目录flag文件名为 /f1ag 使用 /*1* 绕过过滤 使用 pr 命令读取文件 利用方法 构造合适的命令读取flag文件,例如: 总结 这道题目结合了两种高级注入技术: 在传统注入被过滤时使用笛卡尔积注入 通过环境变量注入绕过严格的过滤限制 关键点: 理解笛卡尔积注入的时延原理 掌握绕过过滤的技巧(如 /**/ 替代空格, like 替代 = ) 了解环境变量注入的利用方式 掌握特殊文件名读取技巧( /*1* ) 这些技术在CTF比赛和实际渗透测试中都有重要应用价值。