第一步目录爆破发现隐藏文件操作使用 dirsearch 对目标站点进行目录扫描python dirsearch.py -u http://172.26.99.162扫描结果返回 200 状态码发现readme.txt在浏览器访问http://172.26.99.162/readme.txt。知识点Web 目录爆破目录扫描Web 应用经常会遗留备份文件、说明文档、源码文件页面上没有链接指向这些文件爬虫无法发现只能依靠字典暴力枚举路径。HTTP 状态码200 OK代表资源存在403 Forbidden代表文件存在但是禁止访问404 Not Found代表文件不存在。为什么要做目录扫描页面源码、抓包只能看到前端输出的内容服务器上还存放很多没有对外做链接的文件readme、备份 txt、zip、源码备份都是 CTF 高频考点。第二步JS 混淆代码! [] () 解密获取下一关提示操作访问readme.txt页面全部是由! [] () 组成的字符串。全选复制页面上所有代码按下 F12 打开浏览器开发者工具切换到Console 控制台将复制的代码粘贴进去按下回车浏览器弹出弹窗flag(Txt.Txt)得到新路径提示Txt.Txt。知识点JSFuck 混淆! [] () 就是经典 JSFuck 编码它只用 6 种符号[]()!就可以表达完整 JavaScript 全部语法可以把任意 JS 代码转换成只有这几个符号的字符串。✅为什么必须放到浏览器控制台解密页面源码 / 抓包看不到结果这一整串文本本身不是明文它是可执行的 JavaScript 代码浏览器直接访问 txt 文件只是把文本渲染展示出来不会自动执行 JS 代码只有粘贴到 Console 控制台浏览器 JS 引擎才会解析运行这段混淆代码执行后调用alert()弹窗输出提示。抓包拿到的就是原始混淆字符串没有执行所以抓包看不到解密结果。底层原理JS 里面[]是空数组![]取反得到布尔值false![][]可以做隐式类型转换把布尔值转为字符串再通过字符串拼接构造出任意字符。JSFuck 就是基于 JS 隐式类型转换特性实现的混淆。第三步访问提示路径拿到 PHP 变形混淆代码操作浏览器访问http://172.26.99.162/Txt.Txt页面出现一大串以$~[];${___:$$...开头的代码。知识点这是PHP 变形混淆PHP 神盾 / PHP Xor‑Injection 混淆也叫 PHP 免符号混淆。这里有一个坑代码长得是 PHP 语法但是放在 txt 文件内。服务器没有把它交给 PHP 解释器执行只是直接把源码文本返回浏览器。❗注意不要误以为是 PHP 代码就要丢到 PHP 环境运行本题把混淆源码直接输出给浏览器这串字符串同时也是合法 JavaScript 代码可以直接交给浏览器 JS 引擎执行。第四步再次控制台执行混淆代码获取最终 flag操作复制页面全部混淆代码F12 打开 Console 控制台粘贴代码回车执行浏览器弹出 alert 弹窗里面就是最终 flag。知识点这份混淆巧妙构造语法同一份字符串既是合法 PHP 语法同时也是合法 JS 语法。如果放在 PHP 页面访问PHP 会执行代码但本题放在 txt 静态文件直接返回源码复制丢浏览器 JS 控制台也可以解析执行直接弹窗输出 flag。遇到同类题型通用分析思路① 第一步先确认所有常规信息看网页页面F12 查看源代码抓包看 HTTP 响应包如果全部没有 flag说明 flag 不在前端渲染内容大概率存在服务器上的隐藏文件立刻做目录扫描。② 拿到奇怪符号文本先判断混淆类型特征混淆类型处理方法只有! [] () JSFuck复制粘贴浏览器 Console 执行也可以网上找 JSFuck 在线解码器大量$、~、{}没有字母数字PHP 异或变形混淆优先尝试粘贴浏览器控制台执行不行复制放到本地 php 文件php 命令行运行解析大量eval()、strrev、base64普通 JS/PHP 编码混淆找到 eval 替换 console.log 输出内容⚠️重要判断点 文件后缀是.txt代表服务器不会执行代码只会返回源代码文本txt 里面的代码不会自动运行必须人工复制交给解释器执行浏览器页面只是单纯展示文本不会解析执行 JS/PHP。③ 区分什么时候放浏览器控制台什么时候放 PHP 环境文件后缀.txt/.html内容是[]!()优先浏览器 Console文件后缀.php访问页面直接输出乱码 / 混淆代表服务器已经执行过 PHP文件后缀.txt里面是 PHP 混淆源码源码原样返回复制源码可以两种方式都测试浏览器控制台、本地 php 运行。④ 核心做题思想混淆文本本身≠结果混淆文本是一段程序必须交给对应语言解释器执行才能输出结果浏览器打开 txt 只是把字符串渲染给你看不会自动运行程序所以源代码、抓包都看不到解密之后的 flag。做题踩坑总结不要盯着网页、抓包反复看页面看不到内容优先怀疑隐藏文件不要看到 PHP 风格代码就默认一定要用 PHP 运行有些混淆设计成双语言兼容JS 也能跑混淆代码存放在 txt 静态文件服务器不会自动执行必须手动复制代码交给解释器dirsearch 扫描结果重点关注200状态码的 txt、zip、bak 备份文件是 CTF 高频考点。