跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PHP算法

CtfShow Web 入门题解:爆破与伪随机数利用

针对 CtfShow Web 入门系列第 21 至 28 题,主要涉及基础认证爆破、MD5 逻辑漏洞、伪随机数种子预测及逆向、AJAX 交互分析及目录扫描等常见考点。解题关键在于理解 PHP 随机函数机制、Base64 编码特性以及利用工具辅助逆向分析。通过编写脚本枚举或调整 Burp 配置,可有效解决大部分逻辑与加密类问题。

筑梦师发布于 2026/4/9更新于 2026/5/2212 浏览

CtfShow Web 入门挑战解析 (21-28)

Web21:Basic Auth 自定义迭代器爆破

抓包后看到 Authorization 头里是 Base64 编码的用户名和密码。这种场景下,Burp Suite 的 Intruder 模块配合 Custom Iterator 能灵活生成凭证组合。

1. 选中 Payload

在 Burp 的 Intruder 界面选中包含认证信息的请求部分。

2. 设置 Payloads

Payload Type 选择 Custom Iterator,设置 Position 为 1、2、3,分别对应用户名和密码字段。

3. 处理逻辑

在 Payload Processing 中取消 Base64 Encode 选项,因为我们在请求头里已经处理好了格式,避免重复编码。

4. 执行爆破

开始攻击,观察回包长度差异即可定位正确密码并获取 Flag。

Web22:域名变更提示

题目提示域名更新后原地址失效。如果无法访问旧链接,直接尝试提交提示中的 Flag。

Web23:MD5 字符串逻辑漏洞

源码中有一段对 MD5 值的特定位置字符校验。我们需要构造一个 Token,使其 MD5 哈希值满足特定索引位置的字符相等且数值运算成立。 这里写个脚本暴力枚举比较稳妥。

import hashlib
import itertools

chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
for length in range(1, 4):
    for combo in itertools.product(chars, repeat=length):
        token = "".join(combo)
        md5_str = hashlib.md5(token.encode('utf-8')).hexdigest()
        
        c1 = md5_str[1]
        c14 = md5_str[14]
        c17 = md5_str[17]
        c31 = md5_str[31]
        
        if c1 != c14 or c14 != c17:
            continue
        
        try:
            x1 = int(c1)
            x2 = int(c14)
            x3 = int(c17)
            y = int(c31)
            
            if x1 == 0:
                
            
             ((x1 + x2 + x3) / x1) == y:
                ()
         ValueError:
            
continue
if
print
f"Found: {token}, MD5: {md5_str}"
except
continue

跑出来的结果试了几个都能过。当然也可以用 Burp 的 Brute Forcer 模式直接撞参数。

Web24:固定种子的伪随机数预测

核心在于 mt_srand(372619038)。只要种子固定,生成的随机数序列就是可预测的。我们只需要算出这个种子对应的第一个 mt_rand() 结果,传给参数 r 即可。

<?php 
mt_srand(372619038); 
echo mt_rand(); 
?>

运行得到结果后拼接 URL 访问即可。

Web25:逆向推导随机种子

这道题稍微复杂点,mt_srand 的种子是基于 flag 的 MD5 前缀计算的。我们需要先通过回包反推第一次生成的随机数,再用工具倒推种子。 传参 r=0,根据代码 $rand = intval($r)-intval(mt_rand()),可以推算出 mt_rand() 的值。 之后使用 php_mt_seed 这类工具进行逆向分析。在 Linux 环境下编译运行该工具,输入反向得到的随机数,它会给出可能的种子列表。 测试不同的种子,直到 Cookie 验证通过。

Web26:AJAX 响应处理

前端调用了 jQuery 的 AJAX 请求后端接口,返回的是 JSON 格式。抓包时不需要手动构造 JSON 体,按照表单格式发送 POST 数据即可,重点看后端返回的 msg 字段。

Web27:身份证号爆破登录

这是一个典型的弱口令爆破场景。下载附件获取学生信息表,从第一条开始尝试身份证号作为密码登录。 拿到正确信息后登录系统获取 Flag。

Web28:目录扫描

扫不到思路时,试试目录爆破。配置好字典,开启重定向跟随,通常能发现隐藏的管理入口或敏感文件。

目录

  1. CtfShow Web 入门挑战解析 (21-28)
  2. Web21:Basic Auth 自定义迭代器爆破
  3. 1. 选中 Payload
  4. 2. 设置 Payloads
  5. 3. 处理逻辑
  6. 4. 执行爆破
  7. Web22:域名变更提示
  8. Web23:MD5 字符串逻辑漏洞
  9. Web24:固定种子的伪随机数预测
  10. Web25:逆向推导随机种子
  11. Web26:AJAX 响应处理
  12. Web27:身份证号爆破登录
  13. Web28:目录扫描
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于飞算 JavaAI 的在线教育平台设计与实现
  • Neo4j Desktop 2 安装配置与图数据库实战
  • 鸿蒙 APP 性能优化与 Next 原生合规实践
  • 彻底关闭 Win10 中 Microsoft 365 Copilot 弹窗的 6 种方法
  • 基于模型上下文协议(MCP)的可插拔式临床AI工具链研究(上)
  • 基于 Spring Boot 与 MySQL 的仓库管理系统设计与实现
  • LangChain Agent Skills 使用案例:GitHub 仓库分析
  • 基于 Qwen2.5-Coder 与 CrewAI 构建智能编程系统
  • Spring Web MVC 入门指南:从概念到实践
  • ROS 机器人工程师学习计划:第一天 Linux 基础与命令
  • 无人机低空智能巡飞巡检平台:全域感知与智能决策
  • LLM 训练微调实战:基于 LLaMA-Factory 框架详解
  • mac 终端 javac 编译中文乱码解决方法
  • 基于 AI 陪练的前端新手入门:从零开始构建第一个网页
  • 网络安全专业就业前景与核心岗位分析
  • Visual Studio 2026 Insider C++ 项目属性推荐配置
  • Claude Code 规则配置与最佳实践
  • OpenClaw 新手入门:环境搭建、模型配置与 WebUI 远程访问
  • 基于 AI 的智能算力分配与云原生基础设施实践
  • 昇腾 A2 部署 Pi0 机器人大模型:CANN 环境实测

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online