本地文件包含(Local File Include)

0x01 漏洞简介

如果允许客户端输入控制动态包含在服务器端的文件,会导致恶意代码的执行与敏感信息的泄露,主要包括本地文件包含和远程文件包含两种形式

0x02 漏洞成因

文件包含漏洞的产生原因是通过引入文件时,由于传入的文件名没有经过合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意代码注入。当被包含的文件在服务器本地时,就形成的本地文件包含漏洞

0x03 实例分析

#!php
if ($_GET['func']) {
   include $_GET['func'];
} else {
   include 'default.php';
}

程序的本意可能是当提交url为http://example.com/index.php?func=add.php时,调用add.php里面的样式内容和功能。直接访问http://example.com/index.php则会包含默认的default.php

那么问题来了,如果我们提交http://example.com/index.php?func=upload/pic/evil.jpg ,且evil.jpg是由黑客上传到服务器上的一个图片,在图片的末尾添加了恶意的php代码,那么恶意的代码就会被引入当前文件执行。

如果被包含的文件中无有效的php代码,则会直接把文件内容输出。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、什么才是”远程文件包含漏洞”? 回答是:服务器通过php的特性(函数)去包含任意文件时,由于要包含的这个文件来...
    喜欢吃栗子阅读 7,655评论 1 4
  • 来源:http://bbs.ichunqiu.com/thread-9192-1-1.html?from=ch 本...
    池寒阅读 4,999评论 1 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,084评论 19 139
  • 欢喜妈妈阅读 1,562评论 0 2
  • 昨天刚刚看一部电影《cube》中文名字叫《心慌方》,十一的假期几次都想空出时间来慢慢享受一下下午的时光,可是,时间...
    partfool阅读 3,526评论 0 2

友情链接更多精彩内容