网站建设互联网营销营销推广,263企业邮箱登官网,康体设备网站建设,辽宁地矿建设集团有限公司网站谈谈任意文件包含的理解
1.漏洞描述 攻击者可以利用任意文件包含漏洞#xff0c;读取文件#xff0c;执行代码#xff0c;对服务器造成危害。程序开发人员通常会把可重复使用函数或语句写到单个文件中#xff0c;形成“封装”。在使用某个功能的时候#xff0c;直接调用此…谈谈任意文件包含的理解
1.漏洞描述 攻击者可以利用任意文件包含漏洞读取文件执行代码对服务器造成危害。程序开发人员通常会把可重复使用函数或语句写到单个文件中形成“封装”。在使用某个功能的时候直接调用此文件无需再次编写提高代码重用性减少代码量。这种调用文件的过程通常称为包含。程序开发人员都希望代码更加灵活所以会把被包含的文件的路径设置为变量来进行动态调用包含但正是由于这种灵活性如果被包含文件的路径客户端可控造成任意文件包含漏洞。几乎所有的脚本都会提供文件包含的功能文件包含漏洞在PHP 的Web 应用中居多在JSP/ASP/ASP.NET 程序中比较少。 2.漏洞原理 PHP 文件包含是程序设计的基础功能之一能够减少代码量提高开发效率。但是使用文件包含功能时实现了动态包含就有产生文件包含漏洞的风险。如果实现动态包含的参数Web 应用没有进行严格的校验浏览器客户端用户可以影响控制被包含文件的路径就会产生任意文件包含漏洞。 动态包含被包含文件路径可控 特点 读取文件执行代码 3.漏洞场景 类似于metinfo_5.0.4 实现了动态包含有存在文件包含漏洞的风险。类似于文件读取的URL可能存在文件包含。 4.漏洞评级 ⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ 高危 5.漏洞危害 攻击者利用文件包含漏洞可以 读取文件执行PHP 代码直接获取网站后门控制网站控制服务器 6.漏洞验证 ?filepath./a.jpg 7.漏洞利用
包含图片木马 菜刀直接链接。 读取敏感文件 利用文件包含漏洞也可以读取敏感文件。 前提条件 目标文件存在已知目标文件路径 具有文件可读权限。 读取 PHP 源码 利用php://fileter 读取。 执行 PHP 命令 利用条件 利用 php://input 执行PHP 命令远程文件包含开启。 包含图片马写 shell 条件 确定文件包含漏洞存在菜刀不能直接连接。 写Shell 包含日志 Apache 日志 访问日志错误日志 Nginx 日志 访问日志错误日志 SSH 日志 邮件日志 8.防御方案 尽量少的使用动态包含。严格过滤被包含文件的路径。将参数 allow_url_include 设置为 Off。使用参数 open_basedir 限定文件访问范围。open_basedir c:\phpstudy_2016\www\ 9.典型案例 metinfo_5.0.4_file-include