1.文件包含
文件包含:开发人员将可重复使用的内容写到单个文件中,使用时直接调用此文件,无需再次编写,这种调用文件的过程一般被称为文件包含。这样编写代码能减少代码冗余,降低代码后期维护难度,保证网站整体风格统一,比如:导航栏、底部栏等。
2.文件包含漏洞
文件包含漏洞:开发人员希望代码更加灵活,有时会将包含的文件设置为变量,用来动态调用,由于这种灵活性,可能导致攻击者调用恶意文件,造成文件包含漏洞。
漏洞产生原因:
- 存在一些和文件包含有关的函数
- 这些参数由用户可控
- 没有对用户的输入执行严格的过滤
- 如果是远程文件包含的话,有一些危险的配置 例如allow_url_include='on'
3.文件包含相关的函数
几乎所有脚本语言都会提供文件包含的功能,但文件包含漏洞在PHP Web应用中居多,而在JSP、ASP程序中却非常少,甚至没有。