ctfweb:flask+ssti

两个思路一样的题er...

星愿信箱;

给了一个输入内容重复回显的页面,先用wappalyzer进行技术栈识别

一个基于python的flask,先看有没有ssti漏洞,没有的话尝试session伪造

尝试{{7*7}},没有有效回显

补充模板引擎:

  • Jinja2:使用{{}}作为输出语法({{7*7}})
  • Mako:使用{}作为输出语法({7*7})

尝试{%%},回显成功,存在ssti漏洞,而且{{}}可能被过滤掉了

找可以访问的全局对象------回显包括这个flask的所有全局变量,函数,导入模块,内置函数,看全局对象的原因是为了看__builtins__与os模块是否存在,他们如果都存在的话,证明我们可以用一些命令来探测信息

复制代码
{% print(url_for.__globals__) %}

存在包含 __builtins__ 的字典对象以及os

直接尝试读取flag

复制代码
{% print(url_for.__globals__['__builtins__']['open']('/flag').read()) %}

回显成功

玄武杯 2025锦家有什么

flask..

进入主页面,发现按钮失效,view-source一下:

提示路径try_a_try

访问,提示输入参数

发现写入name参数的时候回显有改变?name=leee

因为先前验证了模板是flask,所以试一下ssti,回显正确

继续看全局对象,?name={{url_for.globals}},回显有__builtins__以及os

直接读,?name=={{(url_for.globals'__builtins__''open'('/flag').read())}}

拿到flag

相关推荐
hhzz21 分钟前
【YOLO 入门到精通 04】理解任务与模型家族:7 大 CV 任务与 YOLO26 选型指南
人工智能·python·深度学习·yolo·计算机视觉
Escalating_xu29 分钟前
【Python】使用库:标准库、第三方库、pip、项目实战与程序打包
java·python·pip
水獭比特31 分钟前
Agent 工具审批不止一个按钮:用 v0.22.1 复盘入口、恢复和副作用
人工智能·python
谁在黄金彼岸33 分钟前
nginx服务化五套方案原理解剖与选型
后端
谁在黄金彼岸42 分钟前
WinSW在Win7上失败真相-实测与修复
后端
苦瓜打怪兽1 小时前
leetcode 热题100(11. 盛最多水的容器)
python·算法·leetcode
花间相见1 小时前
【后端开发|Redis进阶01】—— Redis分布式锁全解:从SETNX到Redisson看门狗,再到RedLock
后端·面试
llqbzllll1 小时前
A2A 1.0 到底和 MCP 差在哪:从 Agent Card、Task 到 Java 最小互操作
后端
花间相见1 小时前
【后端开发|JVM基础01】—— Java垃圾回收全解:从分代内存模型到各收集器的分代职责
后端
geovindu1 小时前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式