1.Simple_SSTI_1
打开环境 发现一行英文 查看源代码看到 SECRET_KEY 这就是解题关键。SECRET_KEY其实就是一个加密盐,用在django和flask的session、cookies等加密中。 payload为?flag={{config}} 或 /?flag={{config.SECRET_KEY}}
原理:SSTI 就是服务器端模板注入(Server-Side Template Injection),可以获取前端传入参数的值进行处理,类似于 {{}} 的变量经过引擎解析的时候,进行了执行,然后渲染并填充到web页面。
知识点学习链接:http://t.csdnimg.cn/Civbs
2.Simple_SSTI_2
首先打开环境 看着没有什么特别的地方 打开源代码 页没有发现什么特别的地方 所以直接/?flag={{config}}打开以后发现一堆字母 直接查找flag文件 然后cat得到flag
学习资料: http://t.csdnimg.cn/dgabq
3.Flask_FileUpload
打开环境 然后查看源代码 发现只能上传.jpg.pen的文件 所以新建一个文件内容为import os (换行) os.system('ls /') ,修改文件类型为png,上传,在网页源代码注释中查看目录,发现flag 重新编辑文档 import os (换行) os.system('cat ../flag'),修改上传,显示flag