当前位置: 首页 > article >正文

[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;  // 初始化求和变量为 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自动输出。


http://www.kler.cn/a/520453.html

相关文章:

  • 生信软件管家——conda vs pip
  • 想品客老师的第七天:闭包和作用域
  • Django 日志配置实战指南
  • Android中Service在新进程中的启动流程
  • (2)STM32 USB设备开发-USB虚拟串口
  • python深入SQLAlchemy使用详解
  • 2014年蓝桥杯第五届CC++大学B组真题及代码
  • 【Postman接口测试】接口用例设计实战—以聚合数据的新闻头条接口为例
  • pytorch卷积的入门操作
  • 深入理解Pytest中的Setup和Teardown
  • LLM大模型推理中的常见数字
  • Windows上通过Git Bash激活Anaconda
  • 【算法】图解面试笔试热点二叉树相关算法题汇总
  • 人工智能:从基础到前沿
  • el-autocomplete组件模糊查询及显示空白解决方法
  • 【蓝桥杯】43695.填字母游戏
  • 【Linux】gcc/g++的使用
  • 淘宝商品数据解析的具体步骤是什么?
  • go单元测试和基准测试
  • wow-agent---task4 MetaGPT初体验
  • CNN-BiLSTM卷积双向长短期记忆神经网络时间序列预测(Matlab完整源码和数据)
  • MATLAB编写遗传算法【Genetic Algorithm(GA)】求解函数最大值
  • [NOIP2007]矩阵取数游戏
  • 开发技巧,vue 中的动态组件的引用 component + is
  • 性能测试网络风险诊断有哪些?
  • 跟我学C++中级篇——容器的连接