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

CTF-辨别细菌

  • 题目描述:try your best to find the flag.
    在这里插入图片描述
  1. 进入靶场后发现是一个游戏,需要全部答对才可以得到最后的flag
    在这里插入图片描述
    在这里插入图片描述

  2. 查看了一下源码,发现有一个答案模板的模块
    在这里插入图片描述

  3. 尝试解释一下代码

<!-- 答案模版 -->
<script id="template_game_pic" type="text/html">
<div class="gameTip" data-key="${data.key}">${data.name}
</div>
<div class="gameAnswer"><a data-key="${arr1.key}" href="javascript:;" class="answer1"><img src="${arr1.pic}" /><em class="tip1"></em></a><a data-key="${arr2.key}" href="javascript:;" class="answer1"><img src="${arr2.pic}" /><em class="tip1"></em></a><a data-key="${arr3.key}" href="javascript:;" class="answer1"><img src="${arr3.pic}" /><em class="tip1"></em></a><a data-key="${arr4.key}" href="javascript:;" class="answer1"><img src="${arr4.pic}" /><em class="tip1"></em></a>
</div>
<div class="clear"></div>
</script>
<script id="template_game_nam" type="text/html"><div class="gameTip" data-key="${data.key}"><img src="${data.pic}" /></div><div class="gameAnswer"><a data-key="${arr1.key}" href="javascript:;" class="answer2"><span class="atext">${arr1.name}</span><em class="tip2"></em></a><a data-key="${arr2.key}" href="javascript:;" class="answer2"><span class="atext">${arr2.name}</span><em class="tip2"></em></a><a data-key="${arr3.key}" href="javascript:;" class="answer2"><span class="atext">${arr3.name}</span><em class="tip2"></em></a><a data-key="${arr4.key}" href="javascript:;" class="answer2"><span class="atext">${arr4.name}</span><em class="tip2"></em></a></div><div class="clear"></div>
</script>
<!-- END 答案模版 -->
  • 第一个模板 “template_game_pic” 用于展示游戏图片:
    • 在一个 div 元素中展示游戏提示,其中data-key 属性的值为 ${data.key} 变量的值,${data.name} 表示游戏名称。
    • 在另一个 div 元素中展示游戏答案,包含四个带有不同数据的 a 元素。每个 a 元素代表一个答案选项,data-key 属性存储着相应的key 值,图片来源通过 ${arr1.pic}${arr2.pic}${arr3.pic}${arr4.pic} 四个变量来指定。
    • 每个答案选项都包含一个图片和一个空置的 em 元素。
  • 第二个模板 “template_game_nam” 用于展示游戏名称:
    • 同样在一个 div 元素中展示游戏提示,其中 data-key 属性的值为 ${data.key} 变量的值,${data.pic} 表示游戏图片。
    • 在另一个 div 元素中展示游戏答案,包含四个带有不同数据的 a 元素。每个 a 元素代表一个答案选项,data-key 属性存储着相应的 key 值,玩家名称通过 ${arr1.name}${arr2.name}${arr3.name}${arr4.name} 四个变量来指定。
    • 每个答案选项都包含一个玩家名称和一个空置的 em 元素。
  1. 看不懂没有关系,在答题的时候用审查元素查看一下代码试试

  2. 使用审查元素选中后查看源代码发现了有意思的东西,问题处的data-key的值与答案处的data-key的值有一样的,那那个选项会不会是答案呢?
    在这里插入图片描述

  3. 根据源代码的提示后选择答案,发现是正确的,那么接下来就很简单了,只需要一直这样对下去
    在这里插入图片描述

  4. 直到最后出现一个弹窗
    在这里插入图片描述

  5. 根据要求输入名字,随便一个都可以
    在这里插入图片描述

  6. 恭喜我们获得flag,但是要寻找
    在这里插入图片描述

  7. 获得萌新称号
    在这里插入图片描述
    在这里插入图片描述

  8. 以为会跳出flag来,结果没有,找了半天,在控制台处找到
    在这里插入图片描述

http://www.lryc.cn/news/322484.html

相关文章:

  • RuoYi-Vue开源项目2-前端登录验证码生成过程分析
  • error: C preprocessor fails sanity check
  • Kubernetes实战(三十一)-安装containerd
  • 使用docker搭建faiss向量数据库
  • 安卓面试题多线程 121-125
  • 什么是 HTTPS?它是如何解决安全性问题的?
  • C++入门(下)
  • 2024-03-20 作业
  • 【机器学习】深入解析线性回归模型
  • 新一代云原生数据库OLAP
  • JavaEE--小Demo
  • 一代大神跌落神坛——Java炸了!
  • 面试算法-64-零钱兑换
  • Java复习06 Spring 代码概念
  • 【研究僧总结】回顾第1095个创作日
  • QT(6.5) cmake构建C++编程,调用python
  • Java开发从入门到精通(九):Java的面向对象OOP:成员变量、成员方法、类变量、类方法、代码块、单例设计模式
  • 通过 Socket 手动实现 HTTP 协议
  • 探索数据结构:双向链表的灵活优势
  • 记录一次服务器内存使用率过高达到90%告警问题排查。
  • 基于react native的自定义轮播图
  • Jetson入坑记实
  • 算法系列--递归
  • 【JS】替换文本为emjio表情
  • Solr完结版
  • 外包干了5天,技术退步明显。。。。
  • Cronos zkEVM 基于 Covalent Network(CQT)数据可用性 API,推动其 Layer2 DeFi 生态更好地发展
  • 基于SpringBoot的高校办公室行政事务管理系统
  • Linux系统及操作 (04)
  • 粒子群算法 - 目标函数最优解计算