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() 方法用于打开一个文件,并返回文件对象

相关推荐
网络研究院11 小时前
LastPass 发布紧急安全预警:针对主密码的活跃网络钓鱼攻击正在进行中
网络·安全·黑客·攻击·漏洞·风险·钓鱼
himobrinehacken11 小时前
揭秘Windows程序启动的神秘之旅
c++·安全
TunerT_TQ14 小时前
【智能体安全治理|专栏第9期】从“一堆规则”到“数字宪法”:智能体治理的下一个阶段
java·开发语言·安全·开源治理·大模型安全·ai基础设施·智能体安全
zzq779714 小时前
APP 加固选型实战:从保护面构建到发布验收的全链路指南
安全·安卓·app加固·apk加固·御盾安全·御盾·免费加固
鹿鸣天涯15 小时前
应急响应:常见WebShell管理工具
安全·web安全
zzq779716 小时前
Android 17 升级后 System.load 报错排查与加固兼容指南
android·安全·app加固·apk加固·御盾安全·免费加固·御盾加固
howdoyoudo20260616 小时前
AI审计手记 #10:当Google Earth变成谣言工厂——AI卫星图功能48小时失控始末
人工智能·安全·ai·语言模型
cyforkk17 小时前
并发控制与状态安全:Single-Flight 与幂等性的本质区别
java·安全·spring
一只鹿鹿鹿17 小时前
三甲综合智慧医院信息化总体解决方案(PPT文件)
大数据·运维·物联网·安全·政务
月光船幽幽18 小时前
四层公理框架驱动AI健康诊断
人工智能·python·科技·算法·安全