渗透测试文件包含漏洞原理与验证(1)——文件包含概述

渗透测试文件包含漏洞原理与验证(1)——文件包含概述

文件包含概述把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,无需再次编写函数。这一调用文件的过程被称为包含。

文件包含漏洞产生的原因是在通过PHP函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入。

几乎所有的脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP WebApplication中居多,而在JSP、ASP、ASP.NET程序中却非常少,这是有些语言设计的弊端。在PHP中经常出现文件包含漏洞,但并不意味着其他语言不存在。

文件包含函数include():找不到被包含文件时会产生警告(E_WARNING);include_once():与include()类似,代码已经被包含则不会再次包含;require():找不到被包含的文件时会产生致命错误(E_COMPILE_ERROR);require_once():与require()类似,代码已经被包含则不会再次包含。利用条件(1)include等函数通过动态执行变量的方式引入需要包含的文件

(2)用户能控制该动态变量

示例分别修改phpinfo.txt扩展名为:jpg、rar、xxx发现均可解析,只要文件内容符合PHP语法规范,任何扩展名都可以被PHP解析。

比如我们有一个include.php如下:

如果直接执行会发现结果是 sorry

修改访问加上 page=xxx.php 即可实现包含

本文部分图片摘自深信服安全服务认证工程师课程课件中,为方便个人学习使用,勿作商用!!!!文字内容为自己手打,并非直接搬运!如有侵权,请联系删除!!!

本文档所提供的信息仅用于教育目的及在获得明确授权的情况下进行渗透测试。任何未经授权使用本文档中技术信息的行为都是严格禁止的,并可能违反《中华人民共和国网络安全法》及相关法律法规。使用者应当合法合规地运用所学知识,不得用于非法入侵、破坏信息系统等恶意活动。我们强烈建议所有读者遵守当地法律与道德规范,在合法范围内探索信息技术。

相关文章

已购买的茅台酒能不能退货,茅台不能退换
谁知道365足球网站

已购买的茅台酒能不能退货,茅台不能退换

🕒 08-27 👁️ 8453
汽车仪表盘上显示abs是什么意思
365bet亚洲娱乐场

汽车仪表盘上显示abs是什么意思

🕒 07-12 👁️ 5553
乐视网意见反馈系统
28365备用网址官方网站

乐视网意见反馈系统

🕒 09-08 👁️ 4936