文件包含漏洞是由于服务器开启了 allow_url_include
或者 allow_url_fopen
选项(本地/远程),导致可以通过 $php$ 的某些特性函数利用 $url$ 来动态包含文件,未经严格审查的文件会导致文件的读取和命令执行
通常情况下经常配合上传 $shell$ 来达到目的
$Low$
对于本地文件包含,可以直接更改对应网址来打开服务器内对应文件
对于远程文件包含,可以将 $shell$ 搭载到攻击者网站上并将打开的路径指到该文件上
$Medium$
这里使用了
str_replace
函数来将危险信息http://
与../
替换为空,但该函数极不安全,可以用双写来绕过规则,即page=hthttp://tp:// ....
被替换后即为
page=http:// ....
$High$
使用
fnmatch
函数过滤,该函数用于判断所访问的文件是否以 $file$ 开头只能结合文件上传漏洞,利用 $file$ 伪协议访问上传文件的绝对路径