1.Simple_SSTI_1
1.打开靶场,翻译得知需要输入一个flag作为参数,检查源代码,发现可以设置 secret key 作为变量
经了解,
SSTL 是一个模板注入,
SECRET KEY:是flask 一个重要得配置值 需要用以下代码来加密
/?flag={{config.SECRET KEY}}(注意大小写),或直接 /?flag={{config}}
2.Simple_SSTI_2
1.打开靶场,发现这关依旧需要以 flag 作为参数,源码中没有提示
2.使用 {{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }} 查看文件
3.依次查看目录,运气不错, flag 在第一个目录
4.将 ls 换为 cat 添加 flag 路径,查看 flag 的内容,获取 flag
3.Flask_FileUpload
1.打开靶场,发现是文件上传,查看源码,发现本关会将上传的 jpg,png 后缀的文件以 python 运行后返回结果
2.创建一个文本文档,写入 python 代码来查看根目录
import os; 引用 os 模块
os.system("ls /"); 调用 os 模块中的 system 函数执行查看根目录
3.修改代码获取 flag 内容
import os;
os.system("cat /flag");
4.滑稽
本关打开靶场后发现没有任何可利用数据,所以直接查看源代码,使用 ctrl+f 查询 flag 直接获取flag
5.计算器
1.本关提示只要输入正确答案就可以获取flag,题目很简单,但发现输入框只能输入一位数
2. f12 打开源代码,选中输入框获取其代码,将其中的长度限制改大
3.输入正确答案,获取flag
标签:Bugku,查看,合集,flag,获取,CTF,靶场,源代码,os From: https://blog.csdn.net/l_OMl_l/article/details/140804639