【摘要】 考必过小编为大家整理了关于“2020年PHP一些常见的漏洞梳理(11 5)”的信息,希望可以帮助到大家,下面我们就一起来看下“2020年PHP一些常见的漏洞梳理(11 5)”的具体内容吧!
php文件包含漏洞
在开发中,开发人员会将一些重复使用的代码函数汇总放到单个文件中,需要使用某个函数时直接调用此文件。这个调用过程称为文件包含。为了使代码更灵活,将被包含的文件设置为变量用来进行动态调用。这就导致客户端可以调用一个恶意文件,造成文件包含漏洞。文件包含漏洞在php中居多。造成执行任意代码、包含恶意文件控制网站、敏感文件读取等危害
常见包含函数
include():执行到include时才包含文件,找不到被包含文件时产生警告,但是脚本继续执行。
require():程序一运行就包含文件,找不到被包含的文件产生致命错误,脚本停止运行
include_once&require_once():这两个函数行为与include/require类似,区别在于他们只做一次包含,即如果文件中代码已经被包含则不会再次被包含
利用条件
程序用include()等文件包含函数通过动态变量的方式引入需要包含的文件
用户能够控制该动态变量
配置文件php.ini中参数allow_url_fopen=open,此参数默认为open
远程包含则需要php.ini中参数allow_url_include=open,此参数默认为close
包含分类
本地文件包含:上传带有shell代码的任意格式文件,利用文件包含漏洞将该文件当作脚本格式解析。
远程文件包含:在远程服务器上放置大马以此绕过杀软提权
利用方法
包含日志文件getshell
包含data:或php://input等伪协议
若有phpinfo则可以包含临时文件
如果一个网站有文件包含但是无法getshell,尝试在旁站上上传图片马,然后进行文件包含拿shell
以上就是考必过小编为大家整理的关于“2020年PHP一些常见的漏洞梳理(11.5)”的相关信息,想了解更多考试最新资讯可以关注考必过。