挖掘文件包含漏洞
常见文件包含函数
include(),require(),include_once(),require_once()函数
函数区别
reqiure(可N次包含),require_once(只包含一次,默认第一次)和include(可N次包含),include_once(只包含一次,默认第一次).
require在被包含的文件有错误发生时代码将不再往下执行(主文件)
include在被包含的文件有错误发生时代码将仍然往下执行(主文件)
搜索
include(),require(),include_once(),require_once()
远程文件包含漏洞allow_url_fopen allow_url_include
zlib:// 和 ogg://绕过
http://blog.php-security.org/archives/45-PHP-5.2.0-and-allow_url_include.html
http://php.chinaunix.net/manual/zh/wrappers.audio.php
相关函数:
include() include_once() require() require_once() fopen() imagecreatefromXXX() file() file_get_contents() copy() delete() unlink() upload_tmp_dir() $_FILES move_uploaded_file()
测试
如何防止文件包含漏洞
- 关闭allow_url_fopen allow_url_include
- 进行验证
课后了解
PHP中include(),require(),include_once(),require_once()区别详解
http://php.chinaunix.net/manual/zh/function.require.php
http://php.chinaunix.net/manual/zh/function.include.php