文件包含漏洞
1.原理:文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。
phpinfo() 是一个系统函数,包含了当前PHP的各种配置信息、扩展模块的信息等。以前有一种软件叫“探针”,专门用来探测服务器当前的PHP相关信息,现在随着虚拟主机的没落,已经越来越少人用了。
phpinfo() 常用于在系统上检查 配置设置 和 预定义变量。
phpinfo() 同时是个很有价值的、包含所有 EGPCS(Environment, GET, POST, Cookie, Server) 数据的调试工具。
2.include函数;
3.分类;
4.示例;
1 |
|
allow_url_include=on可能存在文件包含漏洞
5.各种协议流;
1 | php伪协议: https://www.cnblogs.com/endust/p/11804767.html |
6.靶场示例;
1 | 一.https://www.ichunqiu.com/battalion?t=1&r=0 |
1 | 二易酷 cms2.5 本地文件包含漏洞 getshell |
7.防御;
(1)固定后缀;
(2)固定文件;
(3)WAF产品;
8.参考资料;
Web安全实战系列:文件包含漏洞 - FreeBuf网络安全行业门户
文件下载漏洞
下载或文件读取漏洞:
对应文件:配置文件(数据库,平台,各种等)
1 | 一.靶场示例; |
1 | 百度杯2017二月-Zone真题复现-比赛拓展 |
1 | 小米路由器-文件读取真题复现-漏洞(CVE-2019-18371) |