1. 本地文件包含:
本地文件包含只能包含该服务器里的文件,可以泄露服务器文件内容,例如针对Linux服务器,可包含/etc/passwd泄露Linux用户信息。但往往需要攻击者寻找文件上传点,日志或者,临时文件等来完成Getshell。
例题:CTFHUB-本地包含
进入环境
加入?file=
右键-》检查-》hacker
获取flag
2. 远程文件包含:
远程文件包含可以包含远程资源(如:http://xxx.com/aa.jpg),利用较为便利,但是会被PHP中的allow_url_include=On/Off此条配置的限制。
在PHP的配置文件php.ini里将allow_url_fopen和allow_url_include设置为ON,include/require等包含函数可以加载远程文件,如果远程文件没经过严格的过滤,导致了执行恶意文件的代码,这就是远程文件包含漏洞。
例题:CTFHUB-远程包含
伪协议 Ctfhub php://input
Xctf Web_php_include (大小写绕过)
buuctf[ACTF2020 新生赛]Include