CTF信息泄露实战从robots.txt到.git泄露的10种漏洞解析刚接触CTF的新手常会困惑为什么一个看似普通的网页能泄露关键信息信息搜集环节往往决定比赛胜负而Web题目中90%的flag获取都始于有效的信息发现。本文将系统梳理CTF竞赛中最常见的10类信息泄露漏洞用真实案例演示如何从蛛丝马迹中找到突破口。1. 开发注释与前端代码泄露开发过程中留下的注释常成为信息泄露的重灾区。在CTFshow的web1题目中flag直接藏在HTML注释里。现代前端工程化项目虽然会压缩代码但仍有几种典型泄露场景HTML注释查看源码搜索!--或--JavaScript调试信息控制台输出的调试日志前端验证绕过如web2中禁用右键的防护代码// 典型的前端防护代码可绕过 window.oncontextmenu function(){return false}; window.onkeydown function(){if(event.keyCode123)event.returnValuefalse};实战技巧使用CtrlU查看原始HTML不受JavaScript禁用影响在Chrome开发者工具中启用Disable JavaScript选项对混淆代码使用 Beautifier.io 格式化2. HTTP协议层面的信息泄露web3展示了抓包工具发现flag的经典案例。BurpSuite等工具不仅能拦截请求还能发现这些隐藏信息检测位置可能泄露的信息类型工具操作指令响应头Server版本、调试模式Proxy HTTP historyHEX视图隐藏的二进制数据切换至Hex标签页响应体压缩数据被压缩的原始敏感信息使用--compressed参数关键命令# 使用curl查看原始响应 curl -v http://target.com --path-as-is # 检测Gzip压缩内容 wget --headerAccept-Encoding: gzip -O - http://target.com | zcat3. robots.txt与目录遍历robots.txt本是指导爬虫的规则文件web4却常暴露敏感路径。典型结构示例User-agent: * Disallow: /admin/ Disallow: /backup/ Allow: /public/自动化检测方案使用dirsearch扫描目录python dirsearch.py -u http://target.com -e php,zip,bak检查常见备份文件/www.zip /backup.tar.gz /database.sql验证发现的路径是否可访问注意实际比赛中建议使用延时参数-t 1避免被封禁IP4. 源码备份文件泄露web5-web6展示了源码备份的多种形式文件类型典型路径提取方法.phps/index.phps直接访问下载.zip/www.zip解压后审计代码.swp/.index.php.swpvim -r恢复文件.bak/config.php.bak文本编辑器直接打开PHP源码泄露实战// index.phps中发现的敏感配置 $db_host localhost; $db_user admin; $db_pass ctfshow{this_is_flag};5. 版本控制系统泄露.git/.svn目录泄露web7-web8可能暴露完整代码历史。检测与利用步骤确认版本控制目录存在curl -I http://target.com/.git/HEAD使用工具下载完整仓库git-dumper http://target.com/.git/ ./output分析提交历史git log -p git show commit-id修复建议生产环境删除.git目录添加nginx规则禁止访问location ~ /\.git { deny all; return 403; }6. 编辑器临时文件泄露web9演示了vim交换文件(.swp)泄露。各编辑器产生的临时文件特征编辑器临时文件格式恢复方式Vim.*.swpvim -r filenameNano.*.swpcp swapfile originalVS Code*.~直接重命名实战案例http://target.com/index.php.swp http://target.com/.index.php.swo7. Cookie与本地存储泄露web10的flag藏在Cookie中。现代Web应用可能在这些位置存储敏感信息Cookie开发者工具 Application CookiesLocalStorage同Application面板下的Local StorageSessionStorage页面会话期间有效IndexedDB浏览器内置数据库检测命令// 控制台快速查看所有存储 console.log(Cookies:, document.cookie); console.log(LocalStorage:, localStorage); console.log(SessionStorage:, sessionStorage);8. DNS记录信息泄露web11需要查询TXT记录获取flag。DNS信息搜集方法# 查询A记录 nslookup target.com # 查询TXT记录 nslookup -typeTXT flag.target.com # 使用dig工具 dig txt flag.target.com常见敏感记录类型TXT验证信息、SPF记录MX邮件服务器配置CNAME子域名指向9. 后台管理系统泄露web12-web15展示了多种后台泄露场景默认密码web12检查页面底部、版权信息中的联系方式尝试admin/admin、admin/123456等组合密码重置漏洞web15POST /reset-password HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded emailadmintarget.comanswer西安技术文档泄露web13检查/jsdoc/、/doc/等目录搜索CHANGELOG.md、README.md10. 数据库与配置文件泄露最后几题展示了数据库文件泄露的严重后果文件类型典型路径风险等级.mdb/db.mdb高危.sql/backup.sql严重.env/.env严重phpinfo/info.php中危phpinfo泄露利用web16访问/tz.php?phpinfo1搜索$_ENV、$_SERVER等关键数组查找数据库连接字符串、API密钥等信息在真实渗透测试中发现config.php泄露往往意味着可以直接控制服务器。建议开发者在部署时将配置文件放在Web根目录外设置正确的文件权限600使用环境变量存储敏感配置
CTF小白也能懂:从robots.txt到.git泄露,手把手拆解10种Web信息泄露实战
发布时间:2026/6/2 3:02:59
CTF信息泄露实战从robots.txt到.git泄露的10种漏洞解析刚接触CTF的新手常会困惑为什么一个看似普通的网页能泄露关键信息信息搜集环节往往决定比赛胜负而Web题目中90%的flag获取都始于有效的信息发现。本文将系统梳理CTF竞赛中最常见的10类信息泄露漏洞用真实案例演示如何从蛛丝马迹中找到突破口。1. 开发注释与前端代码泄露开发过程中留下的注释常成为信息泄露的重灾区。在CTFshow的web1题目中flag直接藏在HTML注释里。现代前端工程化项目虽然会压缩代码但仍有几种典型泄露场景HTML注释查看源码搜索!--或--JavaScript调试信息控制台输出的调试日志前端验证绕过如web2中禁用右键的防护代码// 典型的前端防护代码可绕过 window.oncontextmenu function(){return false}; window.onkeydown function(){if(event.keyCode123)event.returnValuefalse};实战技巧使用CtrlU查看原始HTML不受JavaScript禁用影响在Chrome开发者工具中启用Disable JavaScript选项对混淆代码使用 Beautifier.io 格式化2. HTTP协议层面的信息泄露web3展示了抓包工具发现flag的经典案例。BurpSuite等工具不仅能拦截请求还能发现这些隐藏信息检测位置可能泄露的信息类型工具操作指令响应头Server版本、调试模式Proxy HTTP historyHEX视图隐藏的二进制数据切换至Hex标签页响应体压缩数据被压缩的原始敏感信息使用--compressed参数关键命令# 使用curl查看原始响应 curl -v http://target.com --path-as-is # 检测Gzip压缩内容 wget --headerAccept-Encoding: gzip -O - http://target.com | zcat3. robots.txt与目录遍历robots.txt本是指导爬虫的规则文件web4却常暴露敏感路径。典型结构示例User-agent: * Disallow: /admin/ Disallow: /backup/ Allow: /public/自动化检测方案使用dirsearch扫描目录python dirsearch.py -u http://target.com -e php,zip,bak检查常见备份文件/www.zip /backup.tar.gz /database.sql验证发现的路径是否可访问注意实际比赛中建议使用延时参数-t 1避免被封禁IP4. 源码备份文件泄露web5-web6展示了源码备份的多种形式文件类型典型路径提取方法.phps/index.phps直接访问下载.zip/www.zip解压后审计代码.swp/.index.php.swpvim -r恢复文件.bak/config.php.bak文本编辑器直接打开PHP源码泄露实战// index.phps中发现的敏感配置 $db_host localhost; $db_user admin; $db_pass ctfshow{this_is_flag};5. 版本控制系统泄露.git/.svn目录泄露web7-web8可能暴露完整代码历史。检测与利用步骤确认版本控制目录存在curl -I http://target.com/.git/HEAD使用工具下载完整仓库git-dumper http://target.com/.git/ ./output分析提交历史git log -p git show commit-id修复建议生产环境删除.git目录添加nginx规则禁止访问location ~ /\.git { deny all; return 403; }6. 编辑器临时文件泄露web9演示了vim交换文件(.swp)泄露。各编辑器产生的临时文件特征编辑器临时文件格式恢复方式Vim.*.swpvim -r filenameNano.*.swpcp swapfile originalVS Code*.~直接重命名实战案例http://target.com/index.php.swp http://target.com/.index.php.swo7. Cookie与本地存储泄露web10的flag藏在Cookie中。现代Web应用可能在这些位置存储敏感信息Cookie开发者工具 Application CookiesLocalStorage同Application面板下的Local StorageSessionStorage页面会话期间有效IndexedDB浏览器内置数据库检测命令// 控制台快速查看所有存储 console.log(Cookies:, document.cookie); console.log(LocalStorage:, localStorage); console.log(SessionStorage:, sessionStorage);8. DNS记录信息泄露web11需要查询TXT记录获取flag。DNS信息搜集方法# 查询A记录 nslookup target.com # 查询TXT记录 nslookup -typeTXT flag.target.com # 使用dig工具 dig txt flag.target.com常见敏感记录类型TXT验证信息、SPF记录MX邮件服务器配置CNAME子域名指向9. 后台管理系统泄露web12-web15展示了多种后台泄露场景默认密码web12检查页面底部、版权信息中的联系方式尝试admin/admin、admin/123456等组合密码重置漏洞web15POST /reset-password HTTP/1.1 Host: target.com Content-Type: application/x-www-form-urlencoded emailadmintarget.comanswer西安技术文档泄露web13检查/jsdoc/、/doc/等目录搜索CHANGELOG.md、README.md10. 数据库与配置文件泄露最后几题展示了数据库文件泄露的严重后果文件类型典型路径风险等级.mdb/db.mdb高危.sql/backup.sql严重.env/.env严重phpinfo/info.php中危phpinfo泄露利用web16访问/tz.php?phpinfo1搜索$_ENV、$_SERVER等关键数组查找数据库连接字符串、API密钥等信息在真实渗透测试中发现config.php泄露往往意味着可以直接控制服务器。建议开发者在部署时将配置文件放在Web根目录外设置正确的文件权限600使用环境变量存储敏感配置