[MoeCTF 2022]ezhtml

题目

查看页面源代码

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

看到了flag

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

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

javascript 复制代码
// 获取元素节点
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;  // 初始化求和变量为 0
    for (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自动输出。

相关推荐
oil欧哟2 分钟前
🥳 做了三个月的学习卡盒小程序,开源了!
前端·vue.js·微信小程序
奶球不是球5 分钟前
el-table(elementui)表格合计行使用以及滚动条默认样式修改
前端·vue.js·elementui
liuyang___8 分钟前
vue管理布局左侧菜单栏NavMenu
前端·javascript·vue.js
@业精于勤荒于嬉17 分钟前
将图片存储至阿里云 OSS
前端·阿里云·云计算·oss
前端Hardy32 分钟前
HTML&CSS&JS:必学!用粒子爆炸效果,让按钮点击 “告别枯燥”
javascript·css·html
程高兴34 分钟前
中性点不接地系统单相接地故障Matlab仿真
开发语言·matlab
前端Hardy35 分钟前
HTML&CSS&JS:必看!主题“自动换装”,10+风格随机切换超惊艳
javascript·css·html
AI很强38 分钟前
matlab常见的配图代码实现1
开发语言·算法·matlab
打野赵怀真42 分钟前
render函数中return如果没有使用()会有什么问题?
前端·javascript
Scraper002443 分钟前
如何使用API和Node.js抓取Google新闻?
javascript