文件包含漏洞(pikachu)

文件包含漏洞

 

在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用'包含'函数功能,比如把一系列功能函数都写进function.php中,之后当某个文件需要调用的时候,就直接在文件头中写上一句<?php include function.php?>就可以调用函数代码。

 

但有些时候,因为网站功能需求,会让前端用户选择需要包含的文件(或者在前端的功能中使用了'包含'功能),又由于开发人员没有对要包含的这个文件进行安全考虑,就导致攻击者可以通过修改包含文件的位置让后台执行任意文件(代码)

 

这种情况我们称为'文件包含漏洞'

 

文件包含漏洞有'本地文件包含漏洞'和'远程文件包含漏洞'两种情况

 

本地文件包含

 

进入靶场

 

 

当我们选择一个球员的时候,url会提交一个get请求

 

如果这个服务器架设在linux上我们就可以一直../../../../../到根目录然后再进行对应固定配置文件

 

这样就会把相应文件的内容暴露出来

 

 

 

在windows上会发满一点,我就这样输出出来看看就好

 

远程文件包含

 

远程文件包含漏洞形式跟本地文件包含漏洞差不多,在远程包含漏洞中,攻击者可以通过访问外部地址来加载远程的代码。

 

远程包含漏洞的前提:如果使用的incldue和require,则需要php.ini配置入选

 

allow_url_fopen=on //默认打开

allow_url_include=on //默认关闭

 

本地文件包含需要攻击者自己猜目录还只能读取配置文件

 

远程文件包含就厉害了,攻击者可以自己搭建站点。里面写上恶意代码

 

传入后台,后台的包含函数就会加载攻击者的恶意代码

 

我们可以写一个php的文件来自动写入一个一句话木马

猜你喜欢

转载自www.cnblogs.com/qxxaq/p/11636236.html