bugku--Simple_SSTI_1---2

第一题

看到一句话,需要传入一个传参为flag 设置一个变量为 secret_key

构造paykoad

/?flag=secret_key

但是发现什么都没有

SSTI模版注入嘛

这里使用的是flask模版

Flask提供了一个名为config的全局对象可以用来设置和获取全局变量。

继续构造payload

/?flag={{config.SECRET_KEY}} 必须大写

然后就出来了

使用{{config}}获得flag,因为config是用来获取当前配置的,配置主要有cookie名字和值之类的,这里的flag就是存放在cookie中

第二题

看前辈们的解题思路

class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。

init 初始化类,返回的类型是function

globals\[\] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。

os.popen() 方法用于从一个命令打开一个管道。

open() 方法用于打开一个文件,并返回文件对象

F12 什么也没有

构造传参

/?flag={{ config.class.init.globals'os'.popen('ls ../').read() }}

有回显

查看app

查看flag

Flask提供了一个名为config的全局对象可以用来设置和获取全局变量。

使用{{config}}获得flag,因为config是用来获取当前配置的,配置主要有cookie名字和值之类的,这里的flag就是存放在cookie中

class:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。

init 初始化类,返回的类型是function

globals\[\] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。

os.popen() 方法用于从一个命令打开一个管道。

open() 方法用于打开一个文件,并返回文件对象

相关推荐
TheRouter7 小时前
LLM 应用的 Guardrails 工程:5 层安全防护架构,为什么一层不够
安全·ai·架构
蔷薇灵动7 小时前
放弃与Mythos 拼手速,用零信任与微隔离重铸网络的确定性秩序
网络·安全
IT大白鼠7 小时前
网络安全领域企业人才需求分析(2026年度)
安全·web安全·需求分析
IpdataCloud7 小时前
担心IP查询泄露隐私?用离线查询工具安全查IP,数据不出内网
网络协议·tcp/ip·安全
XiaoLin laile7 小时前
私有化企业 IM:重构企业经营数据的内网属地边界
安全·即时通讯·私有化·企业通讯
Multipath7127 小时前
急救车上的“信号堡垒”:多链路聚合路由如何让生命连线永不掉线
网络·5g·安全·实时音视频
snpgroupcn8 小时前
如何安全地将SAP归档数据迁移到云端
安全·数据迁移·sap ecc
FreeBuf_8 小时前
Anthropic新发模型Claude Fable 5快速被越狱
网络·安全·web安全
上海云盾-小余8 小时前
弱口令专项整治:批量检测与强制加固方案
网络协议·安全
DianSan_ERP8 小时前
架构师视角:电商大促高并发下的订单API限流与防漏单架构演进
java·运维·网络·安全·微服务·架构·自动化