[护网杯 2018]easy_tornado学习笔记
正文一、代码审计信息收集二、SSTI漏洞分析与利用1. SSTI 定义2. 使用三、Tornado泄漏 cookie_secret四、计算flag正文一、代码审计信息收集访问首页发现三个文件链接ahref/file?filename/flag.txtfilehash49b3207af7a7a889737b9dce644875d8/flag.txt/aahref/file?filename/welcome.txtfilehash15f3b09568a454fd93c590fb81859bb3/welcome.txt/aahref/file?filename/hints.txtfilehashe480792a6a2b1b90ec09a6fb64754daf/hints.txt/a分别访问后获得关键信息文件内容含义/welcome.txtrender提示使用 Tornado 的 render 模板渲染/hints.txtmd5(cookie_secretmd5(filename))文件校验 hash 的计算公式/flag.txtflag in /fllllllllllllag真正的 flag 文件路径/hints.txt文件里关键发现filehash的计算公式为filehash md5(cookie_secret md5(filename))要访问 flag 文件必须知道cookie_secret。二、SSTI漏洞分析与利用1. SSTI 定义SSTIServer-SideTemplateInjection服务器端模板注入这是一种漏洞发生在后端使用模板引擎如 Tornado、Jinja2、Twig、Django 等渲染页面用户可控的数据如 URL 参数、表单输入直接传入模板引擎进行渲染攻击者可以构造恶意的模板表达式被模板引擎执行2. 使用当我们访问/file接口并传入错误的filehash时:curl-vhttp://1668a40ffb8a47645b9cc623.http-ctf2.dasctf.com:80/file?filename/flag.txtfilehashwrong21|grepLocation服务器会返回 301 重定向 Location: /error?msgError那我们就直接直接访问/error?msgtest123GET /error?msgtest123响应中test123被直接回显到 HTML 中说明msg参数被 Tornado 模板引擎渲染——存在 SSTI 漏洞。验证 SSTIGET /error?msg{{handler}}得到响应bodylt;__main__.ErrorHandler object at 0x7f23275232d0gt;/body确认handler对象可访问SSTI 有效。三、Tornado泄漏 cookie_secret在 Tornado 中handler.settings存储了应用配置包括cookie_secret。因此直接构造PayloadGET /error?msg{{handler.settings}}成功获取cookie_secret 1fbb6c04-fd49-4e89-8b63-79f8fea1c8a1。四、计算flag根据 hints.txt 给出的公式计算/fllllllllllllag的 filehash# 导入Python内置哈希加密库用于实现MD5加密算法importhashlib# 定义固定密钥字符串属于题目给出的加密盐值/私密密钥cookie_secret1fbb6c04-fd49-4e89-8b63-79f8fea1c8a1# 定义需要加密的目标文件路径字符串是加密原始明文filename/fllllllllllllag# 第一步加密流程# 1. 将filename字符串转为bytes字节流MD5加密只支持字节数据# 2. 调用md5()创建md5加密对象完成加密# 3. hexdigest()把加密结果转为32位十六进制小写字符串# 最终得到文件名单独MD5加密值赋值给m1m1hashlib.md5(filename.encode()).hexdigest()# 第二步加密流程二次加盐加密# 把私密密钥cookie_secret和第一步加密结果m1拼接成新字符串# 再次整体进行MD5加密得到最终加密哈希值filehashfilehashhashlib.md5((cookie_secretm1).encode()).hexdigest()# 格式化打印第一次MD5加密结果print(fmd5(filename) {m1})# 格式化打印二次加盐加密后的MD5加密结果print(ffilehash {filehash})最终请求GET /file?filename/fllllllllllllagfilehash52f5ee2cec41071eba1191f4abdc3f77

相关新闻

LeetCode Hot100 滑动窗口 + 前缀和专项题解笔记

LeetCode Hot100 滑动窗口 + 前缀和专项题解笔记

本次整理三道高频连续子数组/子串经典题: 3.无重复字符的最长子串(滑动窗口) 438.找到字符串中所有字母异位词(定长滑动窗口) 560.和为K的子数组(前缀和哈希,无法用滑动窗口)核心区分…

2026/7/27 4:43:14 阅读更多 →
深入解析C55x DSP底层驱动:PLL、PWR、RTC与TIMER模块实战指南

深入解析C55x DSP底层驱动:PLL、PWR、RTC与TIMER模块实战指南

1. 项目概述:从寄存器到驱动,掌握C55x DSP的底层脉搏如果你在嵌入式领域,尤其是数字信号处理(DSP)方向摸爬滚打过一阵子,一定会对“芯片支持库”(Chip Support Library, CSL&#xf…

2026/7/27 4:43:14 阅读更多 →
技术笔记:KV Cache友好的上下文设计(李博杰《深入理解 AI Agent》2.3观后总结)

技术笔记:KV Cache友好的上下文设计(李博杰《深入理解 AI Agent》2.3观后总结)

背景 大模型每生成一个新token,都需要引用前文所有token的注意力中间结果。如果没有缓存优化,计算开销会随着上下文长度急剧上升。 KV Cache 的核心思路:缓存已经计算完毕token对应的Key、Value向量。在单次推理内部,只计算新增t…

2026/7/27 4:43:14 阅读更多 →

最新新闻

深圳卓力达电铸助力AI算力液冷散热微米级技术升级

深圳卓力达电铸助力AI算力液冷散热微米级技术升级

随着AI算力服务器、高端消费电子、新能源工控设备功率密度持续飙升,传统风冷散热方案已达性能瓶颈,超薄液冷均温板(VC均热板)凭借超高导热效率、均温性能与轻薄化优势,成为高端设备散热升级的核心载体。液冷均温板的核…

2026/7/27 4:53:18 阅读更多 →
SpringBoot+Vue宠物美容预约系统开发实战

SpringBoot+Vue宠物美容预约系统开发实战

1. 项目背景与核心需求宠物美容行业近年来呈现爆发式增长,根据行业数据显示,2022年国内宠物美容市场规模已突破300亿元。传统电话预约、手工登记的方式已经无法满足现代宠物医院的管理需求。这个基于SpringBootVue的预约管理系统正是为解决以下行业痛点而…

2026/7/27 4:53:18 阅读更多 →
2026年环保项目信息获取:市场开发的核心竞争力与制胜关键

2026年环保项目信息获取:市场开发的核心竞争力与制胜关键

进入2026年,全球环保产业已从“政策驱动”迈入“技术市场责任”多轮驱动的全新阶段。截至2026年7月,中国及全球主要经济体在生态环境领域的年度投资规模均创历史新高,环保工程与设备采购需求呈现爆发式增长。环保产业持续升温:202…

2026/7/27 4:53:18 阅读更多 →
RPIC 2026:机器人感知与智能控制前沿技术解析

RPIC 2026:机器人感知与智能控制前沿技术解析

1. 会议背景与核心价值RPIC 2026作为机器人感知与智能控制领域的旗舰级学术会议,由中日两国三所顶尖高校联合发起。浙江大学在机器人运动控制算法方面的研究处于国际第一梯队,电气通信大学(UEC)在传感器融合技术上拥有专利集群优势…

2026/7/27 4:53:18 阅读更多 →
车联网与自动驾驶安全渗透测试实战指南:从CAN总线到传感器欺骗

车联网与自动驾驶安全渗透测试实战指南:从CAN总线到传感器欺骗

1. 项目概述:为什么我们需要关注车联网与自动驾驶的安全?最近几年,我身边越来越多的朋友开始考虑购买新能源汽车,聊天的话题也从“百公里几个油”变成了“这车辅助驾驶怎么样”、“车机系统卡不卡”。作为一名在网络安全领域摸爬滚…

2026/7/27 4:53:18 阅读更多 →
毫米波智能波束成形技术:MSCNN架构与FPGA优化实践

毫米波智能波束成形技术:MSCNN架构与FPGA优化实践

1. 毫米波智能波束成形技术背景毫米波频段(30-300GHz)因其大带宽特性成为5G/6G通信的核心资源,但高频信号易受路径损耗和遮挡影响。传统波束成形技术通过相位阵列实现定向传输,但面临以下核心挑战:动态环境适应性差&am…

2026/7/27 4:52:17 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻