一、文件包含漏洞原理
程序开发人员通常会把可重复使用的执行函数写在单个文件内,在使用某个函数的时候,直接可以通过文件包含函数,直接调用执行函数文件,无需多次或再次编写,这种调用文件的过程通常被称为包含
产生的原因:
为了代码更加的灵活,开发者会把被包含的文件设置为变量,进行动态调用,从而导致客户端可以调用任意文件,假设攻击者构造恶意代码,并包含了该恶意代码执行文件。
文件包含漏洞可以解析含PHP代码的文件内容 ,如果文件内 包含php可执行代码 则php程序会被解析并正常执行
1.1、产生原因
⭐⭐⭐PHP文件包含会将一切的文件当成PHP脚本执行
文件包含是php的正常功能,如果包含的文件用户可以控制。且后端代码没有进行严格验证,就会造成文件包含漏洞。
Java、ASP是完全面向对象的语言 不存在文件包含漏洞
1.2、产生代码思路
<?php
$filename=$_GET['filename'];
include($filename);
?>
⭐⭐⭐PHP文件包含常用函数:
-
include include "db_c