代码审计——文件操作漏洞概述

0x00 前言

如饥似渴的学习ing。

0x01 文件包含漏洞概述

本地文件包含是指只能包含本机文件的文件包含漏洞,大多出现在模块加载、模板加载和cache调用这些地方。

1.远程文件包含

可以包含远程文件的包含漏洞,远程文件包含需要设置allow_url_include=On.

2.文件包含截断

大多数的文件包含漏洞都是需要阶段你的,正常程序里面包含的文件diamante一般是include<…>

2.1 截断

使用%00截断

2.2 利用多个英文.和/来截断

不收GPC的限制。PHP 5.3 修复

0x02 文件读取漏洞

1.挖掘经验

1.1 黑盒

先黑盒看看功能点对应的文件,再去读文件。

1.2 白盒

  • file_get_contents()
  • highlight_file()
  • fopen()
  • readfile()
  • fread()
  • fgetss()
  • fgets()
  • parse_ini_file()
  • show_source()
  • file()
    使用php://filter来读取文件

0x03 文件上海窜漏洞

1.挖掘经验

1.1 白盒

  • move_uploaded_file()
1.1.1 未过滤或本地过滤
1.1.2 黑名单扩展名过滤
1.1.3 文件头 content-type验证绕过

0x04 文件删除漏洞

1.挖掘经验

1.1黑盒

查看可不可以删除某个文件。

1.2 白盒

  • unlink()

0x05 文件操作漏洞防范

1. 通用文件操作防御

1.1 漏洞利用点

  • 由越权操作引起的可以操作未授权操作的文件
  • 要操作更多文件需要跳转目录
  • 大多都是直接在请求中传入文件名。

1.2 防御

  • 对权限的管理,未授权用户在未授权的情况下不能进行查看和删除等操作。
  • 将文件名路径id等以md5的形式进行存储在数据库中。
  • 避免目录跳转

2.文件上传漏洞防范

  • 白名单方式加过滤文件扩展名,使用in_array或者三等于来对比扩展名。
  • 保存上传的文件时重命名文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王嘟嘟_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值