文件包含漏洞 (LFI)
动态页面加载功能未校验用户输入,可被路径穿越攻击读取服务器任意文件
📂 动态页面加载
输入页面名称,从 pages 目录加载对应内容。合法页面:help、about、contact
💡 实验提示
攻击思路:利用 ../ 跳出 pages 目录,访问系统任意文件
POC 01 · 读取系统敏感文件:输入
../../../../../../etc/passwd 读取 Linux 用户信息
POC 02 · 窃取应用源码:输入
../app.py 直接获取后端源代码
POC 03 · 探测系统环境:输入
../../../../../../etc/hostname 获取主机名
⚠️ 漏洞根源:
os.path.join("pages", name) 直接拼接用户输入,未过滤 ../ 路径穿越符