2025.2.8——一、[护网杯 2018]easy_tornado tornado模板注入

题目来源:BUUCTF  [护网杯 2018]easy_tornado

目录

一、打开靶机,整理信息

二、解题思路

step 1:分析已知信息

step 2:目标——找到cookie_secret

step 3:构造payload

三、小结


一、打开靶机,整理信息

        直接给了三个文件,点进去看看

        给了这三个信息,开始分析

二、解题思路

step 1:分析已知信息

1.告诉了我们flag in /fllllllllllllag

2.第二个文件重点render,是python中的一个渲染函数,url都是由filename和filehash组成,filehash即位他们filename的md5值

3.md5(cookie_secret+md5(filename)),给了我们加密方式,是将cookie_secret和md5(filename)拼接起来,再进行一次md5加密,所以我们需要找到cookie_secret,而第一条信息给我们的是flag在/fllllllllllllag文件中,所以猜测filename=/fllllllllllllag

But,url上面有点奇怪,可以一起看一下

/file?filename=/flag.txt&filehash=581a9759facbcc1a83a3b50cc99103dc

/file?filename=/welcome.txt&filehash=eb45ae2f382f05aa91e5f292edc6fcfd

/file?filename=/hints.txt&filehash=dbcd1e15de57d6753b7d62da938b58e6

        发现三个文件都保存在filehash(文件名被哈希算法加密32位小写)

有一个师傅的wp解决了我的疑惑:122,【6】buuctf web [护网杯2018] easy_tornado-CSDN博客

        注入点是这么来的

step 2:目标——找到cookie_secret

        看了其他师傅的wp,说本题题目也提示了tornado,这是python的一个模块注入,联系第二个文件中的render方法

        所以我们可以将代码放在双花括号里进行执行,其他大佬的wp中提到

step 3:构造payload

        结合上面信息,我们可以构造payload如下

/error?msg={{handler.settings}}

        得到了cookie_secret信息

        将其与flag所在文件的文件名/fllllllllllllag进行md5加密以后得到

224efb29-b925-4b70-b53c-8e9a154688143bf9f6cf685a6dd8defadabfb41a03a1

        将整体再进行md5加密得到

45288316089fdc7fd3770fde20322384

        构造payload如下

/file?filename=/fllllllllllllag&filehash=45288316089fdc7fd3770fde20322384

url传参得到flag信息

三、小结

1.tornado模板注入

2.这里的注入点来源是修改了url,只传参file的话,url变化得到/error?msg=Error,修改Error,发现注入点的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70477.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深度学习里面的而优化函数 Adam,SGD,动量法,AdaGrad 等 | PyTorch 深度学习实战

前一篇文章,使用线性回归模型逼近目标模型 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 本篇文章内容来自于 强化学习必修课:引领人工智能新时代【梗直哥瞿炜】 深度学习里面的而优化函数 …

番外篇:寄人篱下的岁月

在小冷的记忆深处,有一段时光如同一幅陈旧却又色彩浓烈的画卷,被岁月的尘埃轻轻覆盖着。那是他小时候,在二姨家度过的一年。这段经历,在他的生命中刻下了深深的印记,成为了他成长路上一段难以忘怀的过往,其…

腾讯混元3D创作引擎:一站式AI 3D创作平台的深度解析

在当今数字化的时代,3D内容创作正逐渐成为各行各业不可或缺的一部分。从游戏开发到影视制作,再到教育和广告行业,3D技术的应用场景日益广泛。然而,传统的3D创作往往需要大量的时间和技能积累,这使得许多非专业人士望而却步。为了打破这一壁垒,腾讯于2025年1月21日正式发布…

Chrome谷歌多开教程:实用方法与工具

不管是电子商务、技术测试、空投等不同专业领域,还是个人的工作和生活账号管理,使用不同的独立账户往往需要借助Chrome谷歌浏览器多开来提高效率。Chrome谷歌多开有哪些方法和工具?可以来参考以下实用内容。 一、Chrome谷歌多开方法与工具 1…

数据库操作与数据管理——Rust 与 SQLite 的集成

第六章:数据库操作与数据管理 第一节:Rust 与 SQLite 的集成 在本节中,我们将深入探讨如何在 Rust 中使用 SQLite 数据库,涵盖从基本的 CRUD 操作到事务处理、数据模型的构建、性能优化以及安全性考虑等方面。SQLite 是一个轻量…

Android原生开发问题汇总

Fragment顶部出现一个白条怎么办?父类布局搞事情。 layer-list被拉伸问题 Android之 ImageView android:src和tools:src的区别是什么? Android运行时权限的总结,以及EasyPermissions框架的使用 Android Studio添加EasyPemissions Android中module怎…

【AI实践】Cursor上手-跑通Hello World和时间管理功能

背景 学习目的:熟悉Cursor使用环境,跑通基本开发链路。 本人背景:安卓开发不熟悉,了解科技软硬件常识 实践 基础操作 1,下载安装安卓Android Studio 创建一个empty project 工程,名称为helloworld 2&am…

深度解析DeepSeek模型系列:从轻量级到超大规模(附DeepSeek硬件配置清单)

在人工智能领域,深度学习模型的选择对于任务的执行效率和精度至关重要。DeepSeek模型系列提供了多种不同参数量的版本,以满足不同场景下的需求。本文将详细解析DeepSeek模型系列的特点、适用场景以及硬件需求。 DeepSeek模型系列概览 DeepSeek模型系列…

LeetCodeHot 100 第一天

哈希组 1、两数之和使用的是HashMap,如果数字数目比较小可以使用数组作为Hash表,HashMap使用的函数市put,get,containsKey。 2、遇到判断字母异位词首先进行排序,本质上就是找字母异位词的共同之处,也就是…

讯飞绘镜(ai生成视频)技术浅析(五):视频生成

讯飞绘镜(AI生成视频)是一种先进的AI视频生成技术,能够将静态的分镜画面转换为动态视频,并使画面中的元素按照一定的逻辑和动作进行动态展示。 一、讯飞绘镜视频生成技术概述 讯飞绘镜的视频生成技术主要包含以下几个核心模块: 1.视频生成模型:包括生成对抗网络(GAN)…

LabVIEW铅酸蓄电池测试系统

本文介绍了基于LabVIEW的通用飞机铅酸蓄电池测试系统的设计与实现。系统通过模块化设计,利用多点传感器采集与高效的数据处理技术,显著提高了蓄电池测试的准确性和效率。 ​ 项目背景 随着通用航空的快速发展,对飞机铅酸蓄电池的测试需求也…

JVM虚拟机以及跨平台原理

相信大家已经了解到Java具有跨平台的特性,即“一次编译,到处运行”,例如在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C很难做到的。 那么,跨平台是怎样实现的呢?这就要谈及…

重新刷题求职2-DAY7

1.454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#…

如何用大语言模型提高工作效率

软件工程师对大型语言模型&#xff08;LLM&#xff09;的看法存在严重分歧。许多人认为它们是迄今为止对该行业最具变革性的技术。另一些人则认为它们不过是又一个炒作过度的产品&#xff1a;想想很兴奋&#xff0c;但最终对从事严肃工作的专业人士来说毫无用处。 就我个人而言…

CSP晋级组比赛生成文件夹与文件通用代码Python

快速生成文件夹与文件的脚本 import sys import osmyfiles sys.argv[1::] for f in myfiles:os.mkdir(f)os.system(f"touch {f}/{f}.in")os.system(f"touch {f}/{f}.out")os.system(f"touch {f}/{f}.cpp")with open("template.cpp",…

基于STM32校车安全监控系统的设计(论文+源码+实物

1 方案设计 根据设计要求&#xff0c;本设计校车安全监控系统的设计以STM32F103单片机作为主控制器&#xff0c;通过MQ传感器实现异常气体的检测&#xff0c;当异常气体浓度异常时会通过继电器打开车窗进行通风&#xff0c;以保证舒适的环境&#xff0c;通过红外传感器用于监测…

Vite 打包原理

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

基于yolo的视频检测分析

基于yolo的视频检测分析 分步骤实现视频处理、目标检测与追踪、动作分析、计数逻辑&#xff0c;然后整合成API 完整的解决方案&#xff0c;包含视频分析逻辑和API封装&#xff0c;使用Python、YOLOv8和FastAPI实现代码如下&#xff1a; python代码实现 import os import uu…

探索C语言:寻找数组中连续1的最大长度

在编程的世界里&#xff0c;我们常常会遇到各种有趣的算法问题&#xff0c;今天让我们来深入剖析一段C语言代码&#xff0c;它的功能是在给定的整数数组中找出连续1的最大长度。 一、代码功能概述 这段代码定义了一个名为 findMaxConsecutiveOnes 的函数&#xff0c;它接受一个…

人工智能应用-智能驾驶精确的目标检测和更高级的路径规划

实现更精确的目标检测和更高级的路径规划策略是自动驾驶领域的核心任务。以下是一个简化的示例&#xff0c;展示如何使用Python和常见的AI库&#xff08;如TensorFlow、OpenCV和A*算法&#xff09;来实现这些功能。 1. 环境准备 首先&#xff0c;确保安装了以下库&#xff1a;…