文件包含漏洞
文件包含:为了更好的使用代码的重用性
引入了文件包含函数
比如include(flag.php)
它可以把flag.php的文件代码放到该文件里面
如此使得代码的重用性增加了
不过
include($_GET)
里面是变量 可能被恶意改造
漏洞原因:
未对变量进行校验或者校验被绕过
主要依靠四个PHP函数导致
include() PHP代码解析
include_once()
require()
require_once()
另外还有一些
file_get_contents()
读取文件内容
简单的一个包含例子:
<?php
$file=$_GET['file'];
include($file);
....
>
文件包含漏洞分类
本地文件包含
远程文件包含
伪协议
伪协议CTF使用:
?file=php://filter/read=convert.base64-encode/resource=php_filter.php
?file=php://filter/resource=http://www.example.com