文件包含漏洞利用和防御

文件包含漏洞利用和防御

文件包含漏洞

使用函数包含指定文件的代码,没对函数的参数进行过滤,可被用户控制包含恶意文件并执行代码

  • 漏洞分类
    本地文件包含:目录遍历、任意文件读取、包含日志文件getshell、图片马getshell、伪协议读取文件/命令执行、包含phpinfo上传的临时文件
    远程文件包含:远程木马getshell(需要allow_url_fopen和allow_url_include都是on)
  • 漏洞挖掘
    URL参数名出现了page、file、filename、include等关键字;URL参数值出现了文件名,如xx.php、xx.html等
  • 漏洞利用
    发现漏洞->上传shell或读取敏感文件(FUZZ)->执行恶意代码
  • 漏洞修复
    PHP配置中的allow_url_fopen和allow_url_include改为off
    禁用动态包含
    过滤协议、目录字符
    设置包含文件白名单

PHP相关函数

函数作用
include包含并运行文件
include_once只包含并运行文件一次,不重复包含
require包含并运行文件,出错时终止运行
require_once只包含并运行文件一次,出错时终止运行
fopen打开文件或URL
readfile读取文件并写入输出缓冲
highlight_file语法高亮一个文件
show_source语法高亮一个文件
file_get_contents把整个文件读入一个字符串
file把文件读入一个数组中

PHP伪协议

协议作用
file://访问本地文件系统
http://访问HTTP(s)网址
ftp://访问FTP(s) URLs
php://访问各个输入/输出流
zlib://压缩流
data://数据流
glob://查找匹配的文件路径模式
phar://PHP归档
ssh2://secure shell 2
rar://RAR
ogg://音频流
expect://处理交互式的流
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值