文件包含漏洞
1、文件包含漏洞是指网站在展示或者运行一些页面的时候需要将一些文件包含进来运行,这种行为跟文件上传漏洞是一样的,都是一种正常的操作,但是对包含的文件没有做严格的过滤、检查就会导致包含一些非法的文件来运行。文件包含有本地包含和远程包含两种,本地包含就是指所要包含的文件的本地,也就是在服务器上;而远程包含就是指包含的文件在远程黑客的服务器上。
2、低安全级别文件包含漏洞:
本地包含:后端程序员写代码的时候,对文件的包含没有指定固定文件,而是使用 * 通配符来包含文件,也就是该地方可以包含任意文件。黑客就可以利用这点将本地的一些密码,账号等文件包含进来进行运行,然后展示在终端。用户可以将带有木马病毒的图片等文件通过文件上传到服务器,然后再通过文件包含漏洞包含这张图片,图片里面的代码就会被运行,此时就可以使用菜刀等工具远程连接服务器了。 当服务器的php配置中,allow_url_fopen和allow_url_include打开时,服务器会允许包含远程服务器上的文件。
将这一段代码放在图片中,然后上传到服务器;之后通过文件包含来包含这张图片,之后就会运行这段代码,这段代码就会生成一个shell20.php文件,并将后面的一句话木马写入到里面,然后通过远程软件连接即可。
运程包含:通过域名或者远程的IP地址将远程的一个带有病毒的文件包含进来并运行。
3、中安全级别的文件包含漏洞:
低安全级别文件包含漏洞是没有屏蔽远程包含,但是有时候又需要远程包含,所以对远程包含的http:// 进行了过滤,也就是不支持从该服务器域之外的服务器进行文件包含。
对策:虽然服务器过滤了http:// 等关键字符,但是黑客可以使用字符串拼接,如 httphttp:////.....,这里虽然过滤了一个http:// 但是还有一个,所有这种是可以被绕过的。
4、高安全级别的文件包含漏洞:
将需要包含的文件写死,就是说只能包含这个文件,其他的文件一律不能包含。但是这样就缺乏的程序的灵活性等。
大白话:就是包含了不该包含的文件,并将其运行,导致留下木马。