第八课 文件包含漏洞实践

挖掘文件包含漏洞

常见文件包含函数

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. 进行验证

 

copy /b 1.gif+s.php 2.gif

 

http://127.0.0.1/ecshop/js/calendar.php?lang=.. /data/feedbackimg/1_20110624glsbei.gif%00

 

\0

 

课后了解

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 22:00  iwinbug  阅读(308)  评论(0编辑  收藏  举报