0
点赞
收藏
分享

微信扫一扫

文件包含漏洞利用和防御

荷一居茶生活 2023-05-07 阅读 71
web安全

文件包含漏洞利用和防御

文件包含漏洞

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

  • 漏洞分类
    本地文件包含:目录遍历、任意文件读取、包含日志文件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 条评论