文件上传:
上传头像–》上传Webshell
上传附件–》上传木马
文件下载:
下载应用–》下载系统任意文件
下载附件–》下载程序代码
常见文件操作漏洞:
1.文件上传漏洞
2.任意文件下载
3.文件包含漏洞
文件处理不当:
1.可以上传可执行脚本
2.脚本拥有执行权限
任意文件下载危害:
任意文件被下载从而到导致:
代码泄漏,数据库配置文件泄漏,系统文件泄漏等等。
文件处理不当:
1.未验证下载文件格式
2.为限制请求的路径
文件包含漏洞
节约代码量,让程序美观
如:重复代码写入一个文件
用户上传恶意文件,或者远程文件
文件包含:
本地文件包含
远程文件包含
php常用的文件包含函数:
函数包含失败特点
inlcude返回一条警告文件继续向下执行。通常用于动态包含
require一个致命的错代码就不会继续向下执行。通常包含极为重要的文件,整个代码甭想执行
include_once返回一条警告除了原有include的功能以外,它还会做once检测,如果文件曾经已经被被包含过,不再包含
require_once一个致命的错除了原功能以外,会做一次once检测,防止文件反复被包含
注意:1,少用_once带once,因为它会消耗更多的资源去做检测的工作。
2,Include文件只需要编译一次,因为每次包含include都会再执行一次对应的代码
测试注意事项:
allow_url_fopen=On(是否允许打开远程文件)
allow_url_include=On(是否允许包含远程文件)