包含语句中用户输入的硬编码文本 - 容易受到 LFI 攻击


hard coded text with user input in include statement - vulnerable to a LFI attack?

我正在考虑将文件包含在脚本中,这些文件的名称基于 cookie

像这样:

include("sometext".$mycoockie_here."some_text.php");

上面的代码是否容易受到此类攻击? - 即使"sometext""sometex.php"硬编码?

当然是。每个人都可以调整发送到您的网络应用程序的 Cookie 的值。想象一下,有人向您发送了包含内容的cookie

/../../../../etc/passwd[null-byte]

所以你最终会得到这条路

sometext/../../../../etc/passwd[null-byte]some_test.php

PHP 文件处理函数将路径传递给操作系统,操作系统使用以 null 结尾的字符串,因此您最终将包含

sometext/../../../../etc/passwd

你可能不想要。