现在程序代码写的越来越千奇百怪,就一种文件包含的代码就能写出2种:require include
先说require 如果出错则终止输出,include 如果出错则继续执行。
如果一个网站的管理用户写在auth.php里,且auth.php被恶意删除了,如果用require则没有漏洞。
如果用include则产生漏洞,这是为什么?因为Include在遇到错误时会继续执行,这样用户密码就为空,就进入了后台。
再如果 一个网站 查看一条公告是链接式index.php?act=view&file=gonggao.php
而代码是
if ($act == “view”){ $file = $_GET["file"]; include $file; }
乍一看到没什么问题,仔细一看,问题就出来了
$file 产生了一个包含漏洞
如果这个网站支持头像上传或者文件上传
配合这个漏洞
就可以取得网站的WEBSHELL
修复方法:
1.最根本的,就是不用传递参数的include,并且配置文件能require就尽量require。