通过在任意文件读取的靶场进行实验,研究 Flask 框架的 session 原理和 Flask 模板注入漏洞原理。靶场的搭建信息如下:
docker-compose.yml
version: '3.2'
services:
web:
image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-3:latest
ports:
- 5000:5000
一、靶场解题过程
开局一路点过来,到这个界面。看到有个 name
参数,尝试一下其它参数值。
出现了路径信息,看来参数是文件名。
尝试使用../
访问上级目录,没有过滤,可以访问到其它路径内容。
那这样基本就实现了任意文件读取,接下来就是看看要读取什么文件了。
查看一下/proc/self/cmdline
,看看当前进程是用什么命令启动的。
注意这里的分隔符,输出的是