文件包含

图一
参考:https://blog.csdn.net/m0_46467017/article/details/126380415

原理

和SQL注入等攻击方式一样,文件包含漏洞也是一种注入型漏洞,其本质就是输入一段用户能够控制的脚本或者代码,并让服务端执行。
什么叫包含呢?以PHP为例,我们常常把可重复使用的函数写入到单个文件中,在使用该函数时,直接调用此文件,而无需再次编写函数,这一过程叫做包含。
有时候由于网站功能需求,会让前端用户选择要包含的文件,而开发人员又没有对要包含的文件进行安全考虑,就导致攻击者可以通过修改文件的位置来让后台执行任意文件,从而导致文件包含漏洞。
简要来说就是将文件以指定脚本类型(根据网站而定)去执行。
简要案例了解什么是文件包含漏洞:5:00

类型

1、本地包含
2、远程包含–危害更大
两者分别都有两种类型,无限制与有限制。无限制的不必多说,有限制的话就要尝试绕过。
本地包含(无限制)小演示:12:00
本地包含(有限制)小演示:15:00
本地包含绕过限制:
1、%00截断;
2、长度截断(文件名后加/.或.等)
图二
远程包含小演示:23:00
远程包含绕过限制:
1、文件名后加%20
2、文件名后加%23
3、文件名后加?

文件包含漏洞的协议流以及实例

参考(详细):https://www.cnblogs.com/endust/p/11804767.html
文件包含漏洞的各种协议流玩法:28:40(重要)
图三
图四
CTF题目文件包含讲解(学习思路–重要):39:00
1、做题时,还是手动去分析,别用扫描工具,真实渗透的情况下可选择使用扫描工具。
2、手工看参数值以及功能点尤其重要。
实战(CMS)黑盒的文件包含漏洞(学习思路–重要):59:00
1、get一个新思路,如果对方网站的日志能够记录错误请求的代码,而且恰好有文件包含漏洞,那么就可以包含日志文件来执行shell代码。
2、文件上传配合文件包含可以起到更大的作用。

文件包含漏洞的修复

1、固定后缀
2、固定文件
3、WAF
听思路(个人感觉挺重要):1:08:00

总结

1、文件包含漏洞不需要知道路径(也就是目录结构),他会在这个网站的当前目录写入。