第七课 文件包含漏洞及代码防御

挖掘文件包含漏洞

常见文件包含函数

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()

测试

如何防止文件包含漏洞

  1. 关闭allow_url_fopen allow_url_include
  2. 进行验证

 

课后了解

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

posted @ 2019-06-17 21:59  iwinbug  阅读(757)  评论(0编辑  收藏  举报