攻防世界免费题库难度三(2)
菜鸟萌新如有错误还请大佬指正。一、simple_js查看页面源代码查看是否真的只是密码爆破。function dechiffre(pass_enc){ var pass 70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65; var tab pass_enc.split(,); var tab2 pass.split(,);var i,j,k,l0,m,n,o,p ;i 0;j tab.length; k j (l) (n0); n tab2.length; for(i (o0); i (k j n); i ){o tab[i-l];p String.fromCharCode((o tab2[i])); if(i 5)break;} for(i (o0); i (k j n); i ){ o tab[i-l]; if(i 5 i k-1) p String.fromCharCode((o tab2[i])); } p String.fromCharCode(tab2[17]); pass p;return pass; } String[fromCharCode](dechiffre(\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30)); h window.prompt(Enter password); alert( dechiffre(h) );结果页面源代码中发现存在密码加密方式审计代码。发现我们无论输入怎样的密码都只会返回“FAUX PASSWORD HAHA”即“70,65,85,88,32,80,65,83,83,87,79,82,68,32,72,65,72,65”所对应的ascii码值那么最后的flag就应该在“\x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39\x2c\x31\x31\x35\x2c\x36\x39\x2c\x31\x31\x34\x2c\x31\x31\x36\x2c\x31\x30\x37\x2c\x34\x39\x2c\x35\x30”上十六进制转十进制字符拼接再对应ASCII码表。55,56,54,79,115,69,114,116,107,49,50 “786OsErtk12”所以flag就是Cyberpeace{786OsErtk12}。二、easytornado进入网站后是个目录对三个文件进行查看。观察url文件读取方式为filename和fileshash传参filename为访问文件绝对路径先尝试一下直接访问/fllllllllllllag。报错。filehash结合hints.txt文件得出filehash是cookie值连接MD5加密后的filename再进行MD5加密得出的结果那么该如何获取cookie结合第二个文件和题目来看Tornado的render()方法其实是其Web框架中用于渲染预定义模板文件的核心函数通常与RequestHandler配合使用。考虑通过模板注入来获取cookie。在Tornado中要渲染一个模板通常是在RequestHandler类中调用self.render()方法。Tornado为了方便开发者在渲染模板时会自动把一些“常用对象”注入到模板的命名空间Context中。查阅Tornado的官方源码模板中默认可以直接使用一个名为handler的变量指向的就是RequestHandler实例对象不仅如此通常还会有一个self变量和handler是等价的指向同一个对象。在报错页面尝试模板注入测试发现有响应百度了下ORZ是个网络梗那么模板注入点确认。尝试访问handler.settings。成功获取cookie那么接下来就是将/fllllllllllllag进行MD5加密然后拼接cookie再进行MD5加密进行访问获取flag。三、shrine进入主页面。import flask import os app flask.Flask(__name__) app.config[FLAG] os.environ.pop(FLAG) app.route(/) def index(): return open(__file__).read() app.route(/shrine/) def shrine(shrine): def safe_jinja(s): s s.replace((, ).replace(), ) blacklist [config, self] return .join([{{% set {}None%}}.format(c) for c in blacklist]) s return flask.render_template_string(safe_jinja(shrine)) if __name__ __main__: app.run(debugTrue)发现以上python代码发现FLAG存储在Flask应用的配置字典app.config中。/shrine/path:shrine路由接受用户传入的path参数将其传入safe_jinjia过滤后直接交给render_template_string渲染。审计过滤规则所有的“(”“)”都会被替换为空那么无法通过模板注入执行函数黑名单“config”、“self”会被提前置为None无法直接使用。在Python中__globals__是Python函数对象的内置属性返回函数所在模块的全局变量字典。Flask中current_app是Flask的应用上下文代理指向当前运行的Flask应用实例app是染过黑名单的核心对象。url_for(或get_flashed_messages)是Flask模板内置全局函数无需调用即可访问其__globals__属性获取函数所在上下文的全局字典变量。综合上面知识构造payload/shrine/{{url_for.__globals__[current_app].config}}/shrine/{{get_flashed_messages.__globals__[current_app].config}}获取flag。菜鸟萌新如有错误还请大佬指正。

相关新闻

Spring AI 第 8 篇 ChatMemory 详解:如何让模型记住你的每一次对话

Spring AI 第 8 篇 ChatMemory 详解:如何让模型记住你的每一次对话

聊天记忆 - 概念 🤒 大模型是无状态的,意味着不会保留前一次交互的信息。比如,第一次调用时告诉模型我喜欢吃土豆,第二次调用时问模型我喜欢吃什么,此时模型是不知道我喜欢吃土豆的。无状态有无状态的好处,但弊端就是有时候我们想要让它变成有状态。比如,我们想要跨多…

2026/7/5 22:30:12 阅读更多 →
罗克韦尔 2094‑SE02F‑M00‑S1光纤接口控制模块

罗克韦尔 2094‑SE02F‑M00‑S1光纤接口控制模块

2094‑SE02F‑M00‑S1 是罗克韦尔 Allen‑Bradley Bulletin 2094 Kinetix 6200/6500 模块化多轴伺服驱动的SERCOS 光纤接口控制模块,带安全速度监控 (SSM) 功能,适配 1 插槽功率模块 (如 2094‑BMP5‑M),支持与 Logix 控制器无缝集成&#xf…

2026/5/17 0:57:02 阅读更多 →
组件通信props方式

组件通信props方式

组件通信props方式 组件通信的概念 简单来说&#xff0c;在vue中&#xff0c;组件就是来构建一个一个的页面的。所谓的组件通信就是各个组件的连接扣&#xff1b; 父子通信基石 这是最基础、最高频的通信方式 1.父传子&#xff1a;Props 预置代码 ##子组件 <template><…

2026/7/6 4:42:29 阅读更多 →

最新新闻

终极Swift异步方案:AwaitKit中async/await关键字详解

终极Swift异步方案:AwaitKit中async/await关键字详解

终极Swift异步方案&#xff1a;AwaitKit中async/await关键字详解 【免费下载链接】AwaitKit The ES8 Async/Await control flow for Swift 项目地址: https://gitcode.com/gh_mirrors/aw/AwaitKit 还在为Swift异步编程的回调地狱而烦恼吗&#xff1f;&#x1f62b; 想要…

2026/7/6 16:11:25 阅读更多 →
揭秘BNB Smart Chain创世合约:10大核心组件工作原理与交互机制

揭秘BNB Smart Chain创世合约:10大核心组件工作原理与交互机制

揭秘BNB Smart Chain创世合约&#xff1a;10大核心组件工作原理与交互机制 【免费下载链接】bsc-genesis-contract The genesis contracts of BNB Smart Chain. 项目地址: https://gitcode.com/gh_mirrors/bs/bsc-genesis-contract BNB Smart Chain创世合约是BNB智能链生…

2026/7/6 16:11:25 阅读更多 →
mark-sweep垃圾收集器性能调优与基准测试终极指南

mark-sweep垃圾收集器性能调优与基准测试终极指南

mark-sweep垃圾收集器性能调优与基准测试终极指南 【免费下载链接】mark-sweep A simple mark-sweep garbage collector in C 项目地址: https://gitcode.com/gh_mirrors/ma/mark-sweep mark-sweep垃圾收集器作为最简单的垃圾回收算法之一&#xff0c;在内存管理和性能优…

2026/7/6 16:09:18 阅读更多 →
5步解锁加密视频:res-downloader让全网资源一键下载

5步解锁加密视频:res-downloader让全网资源一键下载

5步解锁加密视频&#xff1a;res-downloader让全网资源一键下载 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader 你是否经常遇…

2026/7/6 16:09:18 阅读更多 →
STM32F437ZG与LV30条码扫描模块的工业级应用实践

STM32F437ZG与LV30条码扫描模块的工业级应用实践

1. 项目背景与核心需求解析在工业自动化、零售仓储和物流分拣领域&#xff0c;条码扫描设备作为数据采集的"第一道闸门"&#xff0c;其可靠性和适应性直接决定了整个系统的运行效率。传统固定式扫描器往往受限于介质材质&#xff08;如高反光金属标签、曲面包装&…

2026/7/6 16:05:15 阅读更多 →
Amazon SQS 生产级实践:解耦、稳定性与成本优化指南

Amazon SQS 生产级实践:解耦、稳定性与成本优化指南

1. 项目概述&#xff1a;为什么我坚持用 SQS 做系统解耦&#xff0c;而不是直接调 API&#xff1f;在 AWS 上跑了七年分布式系统&#xff0c;从单体应用拆到二十多个微服务&#xff0c;踩过无数消息队列的坑——自建 RabbitMQ 集群半夜告警、Kafka 运维成本压垮小团队、EventBr…

2026/7/6 16:05:15 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性&#xff1a;5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域&#xff0c;单元测试是保证代码质量的重要环节。当应用涉及数据库操作时&#xff0c;测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南&#xff1a;用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南&#xff1a;告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况&#xff1a;下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools&#xff1a;5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱&#xff0c;支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里&#xff0c;参与了关于混合后量子密码学的讨论&#xff0c;应付端点攻击找茬的人&#xff0c;还参与留言板讨论后&#xff0c;发现“威胁模型”对多数人仍是陌生概念&#xff0c;且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”&#xff1a;我理解的渗透测试到底是什么&#xff1f;每次看到新闻里说某个大公司的数据被“黑”了&#xff0c;或者某个网站被攻击导致服务瘫痪&#xff0c;你是不是和我一样&#xff0c;心里会冒出两个念头&#xff1a;一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻