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

相关推荐
木梯子14 小时前
以科技筑牢安全新基线,金鸿星智能全自动防洪闸新品重磅发布
人工智能·科技·安全
极客小云14 小时前
【Electron-Vue 企业级安全启动模板:electron-vue-theme-template 使用指南】
vue.js·安全·electron
yv_3015 小时前
云曦26开学考复现
ctf
德迅云安全杨德俊15 小时前
直面 DDoS 威胁:从现状到解决方案
网络·安全·web安全·https·ddos
2401_8916558115 小时前
MySQL安全加固十大硬核操作技术大纲
数据库·mysql·安全
小陈工15 小时前
2026年3月22日技术资讯洞察:数据库优化进入预测时代,网络安全威胁全面升级
java·开发语言·数据库·python·安全·web安全·django
codervibe16 小时前
针对RuoYi 这个开源项目的各个方面
安全
学不完的16 小时前
Docker 的安全优化
运维·安全·docker·容器·eureka
CDN36016 小时前
各种网站高防服务器选型:360CDN 高防够用吗?
服务器·网络·安全
Du_chong_huan17 小时前
1.6 面对攻击的网络 | 《计算机网络:自顶向下方法》精读版
网络·安全·php