2026数字中国创新大赛初赛wp之俩签到题缘起这俩题是web题比较简单尤其是对程序员来说只能算签到题了–人菜还狂俩道题目的内容js在https://cloud.189.cn/t/67NVn2RVZrU3访问码ap1m题目一说他简单是因为提示的太多文件干扰也太少所以很容易就看出来了。提示是有个隐藏的接口那肯定在前端代码里面啊然后打开前端代码格式化发现就这么几行题目文件位云盘中的api.js没有混淆、没有加密直接拷贝到一个js文件用node跑一下就可以了为了写这文用ai根据这个代码美化注释了一下其实比赛的时候直接拷贝原网站的js文件去执行即可asyncfunctioncallEncryptedAPI(){try{console.log( 开始调用加密API \n);// API路径constapiPath/api/v2/f7e9/data;// 生成时间戳秒级consttimestampMath.floor(Date.now()/1000).toString();console.log(1. 生成时间戳:${timestamp});// 生成签名constsignatureawaitgenerateSignature(apiPath,timestamp);console.log(2. 生成签名:${signature});// 构建完整URLconstfullUrl${SERVER_URL}${apiPath}?t${encodeURIComponent(timestamp)}s${encodeURIComponent(signature)};console.log(3. 请求URL:${fullUrl});// 发送请求console.log(4. 发送请求到服务器...);conststartTimeDate.now();constresponseawaitfetch(fullUrl,{method:GET,headers:{Accept:application/json,User-Agent:Node.js API Client/1.0},timeout:10000// 10秒超时});constresponseTimeDate.now()-startTime;console.log(5. 服务器响应时间:${responseTime}ms);console.log(6. 响应状态:${response.status}${response.statusText});// 检查响应状态if(!response.ok){thrownewError(HTTP错误:${response.status}${response.statusText});}// 解析响应数据constdataawaitresponse.json();console.log(7. 响应数据:);console.log(JSON.stringify(data,null,2));returndata;}catch(error){console.error(\n❌ API调用失败:);console.error(错误信息:${error.message});throwerror;}}题目二这题是websocket虽然少见但一样的问题提示太多代码太少混淆没有一眼出文件为云盘中的main.js自带注释很快找到配置然后往下就找到了关键的用户名admin接下来就是直接修改参数况且config还是个全局参数直接F12打开console窗口执行就可以了自此俩到签到题都结束了小结这俩题确实简单只能是签到题了先这样吧本次比赛其他题目2026数字中国创新大赛数字安全赛道writeup之web题目一