文件上传漏洞(有点乱)

发布于:2023-01-30 ⋅ 阅读:(704) ⋅ 点赞:(0)

1.文件上传漏洞原理

文件上传漏洞,指的是用户上传一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。
文件上传的危害:
(1)黑链 (2)挖矿 (3)敏感文件泄露
在这里插入图片描述

2. webshell

网站:github.com/tennc/webshell

安装win10+apache+php教程
(https://www.php.cn/php-weizijiaocheng-327365.html)[添加链接描述]

在这里插入图片描述

3.文件上传漏洞利用流程:

1.找到上传的位置

可以用的工具有:https://github,com/almandin/fuxploider
网站中无上传位置,可以用:
Redis KV 持久化+未授权访问的漏洞
MySQL 读写 select into file

2.尝试绕过校验,上传文件
绕过的方法:
删除/禁用JS、修改MIME、等价扩展名、大小写、htaccess、双写、空格、点 ::$DATA、%00截断、 0x00截断、图片马、条件竞争等。

3.获得文件位置
4.蚁剑连接,管理文件

文件上传的防御措施:

扩展名(后缀)黑白名单
MIME类型校验(image/gif)
文件内容头校验(GIF89a)
对文件内容进行二次渲染
对上传文件重命名,不易被猜测
不要暴露上传文件的位置
禁用上传文件的执行权限。
文件上传的目录设置为不可执行。
1)判断文件类型。在判断文件类型的时候,可以结合使用MIME Type,后缀检查等方式。因为对于上传文件,不能简单地通过后缀名称来判断文件的类型,因为攻击者可以将可执行文件的后缀名称改为图片或其他后缀类型,诱导用户执行。
2)对上传的文件类型进行白名单校验,只允许上传可靠类型。
3)上传的文件需要进行重新命名,使攻击者无法猜想上传文件的访问路径,将极大地增加攻击成本,同时向shell.php.rar.ara这种文件,因为重命名而无法成功实施攻击。
4)限制上传文件的大小。
5)单独设置文件服务器的域名。

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到