[任意文件上传、包含、读取]

本文详细介绍了Webshell的概念,文件上传漏洞的原理、危害和防御方法,包括绕过策略如前端JS、黑名单、文件类型等,以及如何通过WAF绕过和利用任意文件包含功能。还提供了修复文件读取漏洞的方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

本篇文章仅作为本人学习笔记

了解webshell

webshell本质上是一张网页,网页由什么语言构成,webshell就是什么类型,。
webshell由PHP,jsp,asp等web应用程序语言开发,但是不具备常见的网页功能。例如登录,注册等等。webshell具备文件管理、端口扫描、提权、获取系统信息等功能。拥有比较完善功能的webshell一般称为大马。功能简单的webshell称为小马。


一、文件上传漏洞介绍

文件上传是Web 应用的必备功能之一,比如上传头像、上传附件共享⽂件等。如果服务器配置不当或者没有进行足够的过滤,Web 用户就可以上传任意文件,包括恶意脚本文件、exe 程序等,这就造成了文件上传漏洞。

二、文件上传漏洞危害

上传漏洞最直接的威胁就是上传任意文件,包括恶意脚本、程序等。如果Web 服务器所保存上传文件的可写目录具有执行权限,那么就可以直接上传后门文件,导致网站沦陷。如果攻击者通过其他漏洞进行提权操作,拿到系统管理权限,那么直接导致服务器沦陷。同服务器下的其他网站无一幸免,均会被攻击者控制。

三、文件上传漏洞原理

由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件。

四、文件上传漏洞绕过方法

  1. 前端JS绕过

由于前端代码过滤敏感文件,只需要删除前端限制函数即可绕过

  1. 黑白名单绕过

由于PHP解析引擎不只认识PHP后缀,phtml,php3等也都可以作为PHP文件解析

在这里插入图片描述

  1. 文件类型绕过(mime、文件头、文件内容)

  2. 路径截断绕过(00 截断)

  3. 中间件解析漏洞

  4. 条件竞争

有的服务器采用了先保存,再删除不合法文件的方式,在这种服务器中,可以反复上传一个会生成 Web Shell的文件并尝试访问,多次之后即可获得 Shell。

  1. 二次渲染

  2. 编辑器漏洞

五、文件上传漏洞防御方法

  • 上传目录的用户执行权限全部取消
  • 判断文件类型使用随机数改写文件名和文件路径
  • 网站服务器和文件服务器分离
  • 白名单检查
  • 限制文件大小

六、WAF绕过

有的 waf 在编写过程中考虑到性能原因,只处理一部分数据,这时可以通过加入大量垃圾数据来绕过其处理函数。
另外,Waf 和 Web 系统对 boundary 的处理不一致,可以使用错误的 boundary 来完成绕过。

实验步骤:

  • 安装安全狗WAF
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 此时上传PHP文件被拦截,使用BP进行抓包,插入脏数据,文件上传成功

在这里插入图片描述

————————————————————————————

七、任意文件包含

1. 文件包含函数

在这里插入图片描述

2.使用pikachu远程文件包含,实现靶场主机解析远程主机的木马

kali主机开启python,windows server 2016 上pikachu靶场作为演示

在这里插入图片描述

PHP文件写入URL,进行访问

在这里插入图片描述

八、任意文件读取

1. 修复方案

  1. 过滤用户数据,如“/” "*” ""等特殊字符;
  2. 更新中间件;
  3. 要下载的文件地址保存至数据库中;
  4. 文件路径保存至数据库,让用户提交文件对应 ID 或session 下载文件;
  5. 用户下载文件之前需要进行权限判断;
  6. 文件放在 web 无法直接访问的目录下;
  7. 不允许提供目录遍历服务;
  8. 公开文件可放置在 web 应用程序下载目录中通过链接进行下载;

———————————————————————————————

更新ing…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值