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

相关推荐
世界尽头与你4 分钟前
SSL 签名相关漏洞
网络·安全·ssl
漏洞文库-Web安全6 小时前
【CTF】关于md5总结
安全·web安全·网络安全·ctf·md5
漏洞文库-Web安全7 小时前
【CTF】buuctf web 详解(持续更新)
安全·web安全·网络安全·ctf·buuctf
cdprinter16 小时前
信刻物理隔离网络安全光盘摆渡一体机
安全·自动化
空白诗18 小时前
mdcat 在 HarmonyOS 上的构建与适配
后端·安全·华为·rust·harmonyos
红树林0719 小时前
渗透测试之sql注入--报错注入
数据库·sql·安全·web安全
Xudde.20 小时前
Quick2靶机渗透
笔记·学习·安全·web安全·php
岁岁的O泡奶21 小时前
DVWA_Vulnerability: Command Injection
经验分享·安全·web安全
羑悻的小杀马特21 小时前
轻量跨云·掌控无界:Portainer CE + cpolar 让远程容器运维像点外卖一样简单——免复杂配置,安全直达对应集群
运维·网络·安全·docker·cpolar
我不是QI1 天前
周志华《机器学习—西瓜书》二
人工智能·安全·机器学习