千家信息网

文件包含漏洞之本地包含和远程包含

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,文件包含漏洞介绍:程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含
千家信息网最后更新 2025年12月01日文件包含漏洞之本地包含和远程包含


文件包含漏洞介绍:


程序开发人员一般会把重复使用的函数写到单个文件中,需要使用某个函数时直接调用此文件,而无需再次编写,这中文件调用的过程一般被称为文件包含。程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但正是由于这种灵活性,从而导致客户端可以调用一个恶意文件,造成文件包含漏洞。几乎所有脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP中居多,而在JSP、ASP、ASP.NET程序中却非常少,甚至没有,这是有些语言设计的弊端。在PHP中经常出现包含漏洞,但这并不意味这其他语言不存在。



漏洞成因:


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



漏洞危害:


执行恶意代码、包含恶意文件控制网站、甚至控制网站服务器等。



本地包含漏洞:


代码:


以以上这个代码为例:


访问:http://127.0.0.1/fileupload/include.php?name=1.txt


  1. txt文件代码为:


我们可以看到txt文件里的内容以php文件的方式执行了;如下图所示:



再看,如果访问:http://127.0.0.1/fileupload/include.php?name=2.jpg

2.jpg是一个图片的一句话***;


用菜刀可以直接连接,也就是说不管后缀是什么样,最后都会以php的形式执行。



但是有时候会这样,这个在ISCC国赛中遇到了,就是在最后会自动加入.php,非常烦人。


代码2:


执行结果如下图:


如果访问:http://127.0.0.1/fileupload/include2.php?page=1.txt


还是报错。


解决办法:截断

利用环境:php版本<5.3magic_quotes_gpc取消的(magic_quotes_gpc = off)



访问:http://127.0.0.1/fileupload/include2.php?page=1.txt





远程包含:


远程的文件名不能为php可解析的扩展名(php、php5..),而且php.ini中allow_url_fopen和allow_url_include为On才可以。



访问:http://127.0.0.1/fileupload/include.php?name=http://127.0.0.1/1.txt





如果是遇到这种情况:

可以用"?"或者""阶段;

http://127.0.0.1/fileupload/include2.php?page=http://127.0.0.1/1.txt?




读取源码:php://filter/read=convert.base64-encode/resource=1.txt


http://127.0.0.1/fileupload/include.php?name=php://filter/read=convert.base64-encode/resource=1.txt


读取出来的是base64编码的,进行解码就行了。


php://input的用法

php://input


伪协议绕过大小写:

http://127.0.0.1//index.php?f=pHP://filter/read=convert.base64-encode/resource=index


readfile读取文件,不可以getshell


总结:这些在iscc的国赛赛中出现过,如果当时会阶段或者会读取源码,也就能获奖了,学无止境,加油吧。


文件 漏洞 代码 恶意 文件名 程序 被包 语言 服务 人员 函数 服务器 源码 程序开发 网站 阶段 文件包 开发 控制 烦人 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 山进网络收音机连接国内服务器 万方数据库查重算法 上海江沛网络技术有限公司 戴尔服务器管理ip地址 软件开发困难怎么办 网络安全教育法主题团日活动方案 大学网络技术学什么 db2 显示数据库 如何托管服务器成本最低 极限国度ps4无法连接服务器 数据库管理技术按发展顺序 百度云网站服务器价格 amd服务器怎么设计 网络安全产业的地位与作用 关于国家网络安全的心得体会 亿赛通数据库安全性 oa协同管理软件开发商 关于软件开发启动仪式会议流程 网络安全建设项目流程 srfc服务器是什么 360网络安全创新研究院 每次服务器所更新的口令 数据库中每一行数据称为 服务器添加硬盘需要关机么 陕西先通网络技术学院好不好 机关网络安全实施细则 电视无法解析服务器域名怎么回事 数据库应用技术教程每章题库 自动化运动控制软件开发 几十台电脑的局域网对服务器要求
0