pikachu Files Inclusion

文件包含分为远程文件包含和远程文件包含

比如程序员为了提高效率让代码看起来简洁,会使用包含函数的功能,写多个文件

之后需要了进行调用,比如.c写了很多个函数分别在不同的文件里,用的时候直接

引用文件即可。但是如果没有做好控制,使得前端用户也可以操作目标文件,就会

出现文件包含漏洞。

本地文件包含

观察一下上面的url,可以看到这应该是一个get请求,文件名直接

显示在了url里,我们可以通过改filename这个参数的值引导后台显示此网站服务器

的其他文件,比如linux下的话就可以../../../../../../etc/passwd 拿到用户密码信息。

 我用的是win2003系统,就演示一下www下的目录

观察源码:可以看到直接获取了filename的值然后用include进行了文件包含,后台

没有做任何处理。应该用白名单限制只允许提交规定的几个文件名

远程文件包含

默认情况下include和require是不支持远程使用的,可以在php.ini中(php5.4.34)

allow_url_fope = on  //默认打开

Allow_url_include = on //默认关闭  打开这个就可以远程调用文件

先在远端写一个恶意木马文件

远程调用这个恶意文件

 然后在同级目录下就生成了木马文件1234.php

 之后用菜刀连接里面的一句话木马就可以对其进行控制。

原文地址:https://www.cnblogs.com/Zh1z3ven/p/12608753.html