文件上传漏洞

任意文件上传漏洞:

➢由于对上传文件未作过滤或过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可达到控制网站权限的目的

“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果

webshell

webshell又称脚本木马,一般分为大马、小马、一句话木马。大马,体积大、功能齐全、能够管理数据库、文件管理、对站点进行快速的信息收集,甚至能够提权。小马,一般而言,我们在上传文件的时候,会被限制上传的文件大小或是拦截的情况,那么我通过小马来上传大马,实现我们想要的功能

例如:通常把这句话写入一个文档里面,然后文件名改成xx.asp。然后传到服务器上面。用eval方法将request(“pass”)转换成代码执行,request函数的作用是应用外部文件。这相当于一句话木马的客户端配置。

所需条件

满足这三个条件,攻击者就能够成功入侵找到上传点

◆木马上传成功,未被杀;

◆知道木马的路径在哪;

◆上传的木马能正常运行(解析)。

上传绕过

1. 绕过JS验证

代码只允许上传该后缀结尾

方法一

右键点击检查,点开三个点,打开设置,找到禁用javascript,即可绕过js验证

方法二

传正常白名单结尾文件,bp抓包修改

2. 绕过MIME-Type验证

常见的MIME类型(通用型):

超文本标记语言文本 .html text/html

PDF文档 .pdf application/pdf Microsoft

Word文件 .word application/msword

PNG图像 .png image/png

GIF图形 .gif image/gif

JPEG图形 .jpeg,.jpg image/jpeg

au声音文件 .au audio/basic

MIDI音乐文件 mid,.midi audio/midi,audio/x-midi

GZIP文件 .gz application/x-gzip

TAR文件 .tar application/x-tar

任意的二进制数据 application/octet-stream

如有代码:

可以上传php文件,bp抓包,修改修改mime为正确类型

3. 绕过黑名单验证

对于黑名单中的后缀名筛选。

绕过黑名单可以通过寻找“漏网之鱼”,寻找某些可以被作为脚本执行同时也不在黑名单中。

.htaccess文件介绍

.htaccess文件内容:

SetHandler application/x-httpd-php设置当前目录所有文件都使用PHP解析,那么无论上传任何文件,只要文件内容符合PHP语言代码规范,就会被当作PHP执行。不符合则报错。

表示会解析对应的文件名phpinfo.jpg

<FilesMatch "phpinfo.jpg">

SetHandler application/x-httpd-php

</FilesMatch>

使用前提条件

审计代码,发现过滤了很多后缀,唯独没有过滤.htacess后缀名,即可以先上传.htaccess文件,指定解析对应的文件,以php代码运行,随后可以上传指定的文件名,内涵php代码,以白名单的形式绕过

上面过滤的文件后缀名都是可以解析的,上传的时候可以逐个尝试

其他绕过技巧

::data数据流

在文件后面加上::data后,::data后面的数据会被当成数据流,文件读取时指挥读取::data前面的内容

例如123.php::data 传到服务器后就变成了 123.php

windows特性:

在文件名后面加上.或者空格会自动去除,即使加上多个也一样,可以利用这个特性来绕过一些过滤机制

比如上图删除末尾点,和去除首尾空都只进行了一次,我们可以写多个点或空来绕过,但是上传到服务器后依然可以解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

晚安薯条

你的支持是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值