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

相关推荐
weixin_4426434230 分钟前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
星尘安全1 小时前
安全工程师入侵加密货币交易所获罪
安全·区块链·漏洞·加密货币
newxtc3 小时前
【支付行业-支付系统架构及总结】
安全·支付宝·第三方支付·风控系统·财付通
newxtc3 小时前
【旷视科技-注册/登录安全分析报告】
人工智能·科技·安全·ddddocr
成都古河云3 小时前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
Gworg3 小时前
您与此网站之间建立的连接不安全解决方法
安全
ac-er88885 小时前
MySQL如何实现PHP输入安全
mysql·安全·php
jjyangyou8 小时前
物联网核心安全系列——物联网安全需求
物联网·算法·安全·嵌入式·产品经理·硬件·产品设计
AltmanChan8 小时前
大语言模型安全威胁
人工智能·安全·语言模型
马船长8 小时前
红帆OA iorepsavexml.aspx文件上传漏洞
安全