文章总结: 该文档分享2026数字中国创新大赛初赛两道Web签到题解题过程。题目一通过分析前端JS代码发现隐藏API接口,使用时间戳和签名验证获取数据;题目二通过修改WebSocket配置参数直接获取flag。文档提供完整解题思路和可操作代码示例,适合CTF入门学习。 综合评分: 70 文章分类: CTF,WEB安全,实战经验
!
两道题目的内容js在:
https://cloud.189.cn/t/67NVn2RVZrU3(访问码:ap1m)
题目一
说他简单,是因为提示的太多,文件干扰也太少,基本一眼出:
提示是有个隐藏的接口,那肯定在前端代码里面啊,然后打开前端代码,格式化发现就这么几行:
(题目文件位云盘中的api.js)
没有混淆、没有加密,直接拷贝到一个js文件,用node跑一下就可以了:
为了写这文,用ai根据这个代码美化注释了一下(其实比赛的时候直接拷贝原网站的js文件去执行即可):
async function callEncryptedAPI() { try { console.log('=== 开始调用加密API ===\n'); // API路径 const apiPath = '/api/v2/f7e9/data'; // 生成时间戳(秒级) const timestamp = Math.floor(Date.now() / 1000).toString(); console.log(`1. 生成时间戳: ${timestamp}`); // 生成签名 const signature = await generateSignature(apiPath, timestamp); console.log(`2. 生成签名: ${signature}`); // 构建完整URL const fullUrl = `${SERVER_URL}${apiPath}?t=${encodeURIComponent(timestamp)}&s=${encodeURIComponent(signature)}`; console.log(`3. 请求URL: ${fullUrl}`); // 发送请求 console.log(`4. 发送请求到服务器...`); const startTime = Date.now(); const response = await fetch(fullUrl, { method: 'GET', headers: { 'Accept': 'application/json', 'User-Agent': 'Node.js API Client/1.0' }, timeout: 10000 // 10秒超时 });
const responseTime = Date.now() - startTime; console.log(`5. 服务器响应时间: ${responseTime}ms`); console.log(`6. 响应状态: ${response.status} ${response.statusText}`);
// 检查响应状态 if (!response.ok) { throw new Error(`HTTP错误: ${response.status} ${response.statusText}`); }
// 解析响应数据 const data = await response.json(); console.log(`7. 响应数据:`); console.log(JSON.stringify(data, null, 2)); return data;
} catch (error) { console.error(`\n❌ API调用失败:`); console.error(` 错误信息: ${error.message}`); throw error; }}
题目二
这题是websocket,虽然少见,但一样的问题:提示太多,代码太少,混淆没有,一眼出:
(文件为云盘中的main.js)
自带注释,很快找到配置:
然后往下就找到了关键的用户名:admin
接下来就是直接修改参数,况且config还是个全局参数,直接F12打开console窗口执行就可以了:
自此,俩到签到题都结束了!
小结
这俩题确实简单,只能是签到题了,先这样吧!
本次比赛其他题目
2026数字中国创新大赛数字安全赛道writeup之web题目一
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:一只岸上的鱼 一只岸上的鱼 一只岸上的鱼《2026数字中国创新大赛初赛wp之俩签到题》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论