文件上传绕过
服务端:
1.黑白名单过滤
2.修改MIME类型
3.截断上传攻击
4..htaccess文件攻击
5.目录验证
目录穿越
目录穿越(Directory Traversal)攻击是黑客能够在Web应用程序所在的根目录以外的文件夹上,任意地存取被限制的文件夹、执行命令或查找数据。目录穿越攻击,也有人称为Path Traversal攻击。
绕过
进行URL编码
进行16位Unicode编码
进行双倍URL编码
进行超长UTF-8 Unicode编码
文件包含
文件包含漏洞的产生原因是在通过引入文件时,引用的文件名用户可控,由于传入的文件名没有经过合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。当被包含的文件在服务器本地时,就形成的本地文件包含漏洞,被包涵的文件在第三方服务是,就形成了远程文件包含漏洞。
模块加载、cache调用,传入的参数拼接包含路径
include() 使用此函数,只有代码执行到此函数时才将文件包含进来,发生错误时只警告并继续执行。
inclue_once0 功能和前者一样,区别在于当重复调用同- -文件时,程序只调用一次。
require() 使用此函数,只要程序执行,立即调用此函数包含文件,发生错误时,会输出错误信息并 立即终止程序。
require_once() 功能和前者一样,区别在于当重复调用同一文件时,程序只调用一次。
远程包含利用方式
任意文件读取及删除
文件读取
文件删除
unlike()