欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 资讯 > [MoeCTF 2022]ezhtml

[MoeCTF 2022]ezhtml

2025/2/2 3:07:50 来源:https://blog.csdn.net/2301_77012231/article/details/145370673  浏览:    关键词:[MoeCTF 2022]ezhtml

题目

查看页面源代码

有个/evil.js文件打开查看

看到了flag

NSSCTF{e15f7f51-d1a0-4d1b-a96d-c987a4fe69a0}

到这里也就可以直接结束了

// 获取元素节点
var sx = document.querySelector('#sx');  // 获取 id 为 'sx' 的元素节点
var yw = document.querySelector('#yw');  // 获取 id 为 'yw' 的元素节点
var wy = document.querySelector('#wy');  // 获取 id 为 'wy' 的元素节点
var zh = document.querySelector('#zh');  // 获取 id 为 'zh' 的元素节点
var zf = document.querySelector('#zf');  // 获取 id 为 'zf' 的元素节点// 将获取到的元素节点放入数组
var arr = [sx, yw, wy, zh];// 初始化标志变量为 false
var flag = false;// 检查函数
function check() {if (flag == true) {clearInterval(timer);  // 如果标志变量为 true,则清除定时器}var sum = 0;  // 初始化求和变量为 0for (var i = 0; i < arr.length; i++) {sum += eval(arr[i].innerHTML);  // 将各元素节点的内容解析为数字,并累加到求和变量上}// 如果求和等于 'zf' 元素节点的内容解析为数字,并且求和大于 600,则显示提示框if (sum == eval(zf.innerHTML) && sum > 600) {alert('NSSCTF{71fdb95c-3cce-4f62-9aef-9c0b95550cfa}');flag = true;  // 设置标志变量为 true,以便停止后续定时器执行}
}// 每隔 1000 毫秒(1 秒)执行一次检查函数
var timer = setInterval(check, 1000);

关键代码是if (sum == eval(zf.innerHTML) && sum > 600),在此之前,sum的值是所有单科成绩的相加sum += eval(arr[i].innerHTML);。

所以我们修改成绩时,单科成绩和总成绩要一起修改。

F12控制台,综合这个单科给他加600分提示总分也加上600分。

flag自动输出。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com