web安全之文件上传漏洞1

1.文件上传漏洞介绍

        文件上传漏洞可以说是日常渗透测试中用的最多的一个漏洞,用它获得服务器权限最直接最快,在web程序中经常要用到文件上传的功能。如用户和管理员上传照片,或者其他文件。如果没有严格限制上传类型或者限制不严格被绕过,就有可能造成文件上传漏洞。如果上传了可执行文件或者网页脚本,就会导致网站服务器沦陷。可以配合Web Serve的解析漏洞来获取控制权。

2.文件上传漏洞的风险处

        1.上传头像

        2.上传个人图片

        3.朋友圈,空间(上传图片处)

        4.订单评价

        5.上传文件的地方

        

3.文件上传漏洞的危害

        拿到了webshell想干什么就能干什么,自己体会危害..........

4.漏洞利用方式

        1.上传一句话木马+webshell管理工具

        2.上传小马或者大马

        (记得上传之前先判断后端语言以判断编写木马所用的语言)

5.文件上传漏洞之前端绕过

        前端绕过绕过的就是前端验证,这里先介绍一下前端验证:前端验证就是用前端语言限制上传文件的类型,不会与服务器进行交互。

        判断是否是前端验证很简单,先上传一个.php文件,如果可以上传那就可以找文件路径进行漏洞利用了(这种概率几乎为0但可以试试),如果上传错误就打开bp看看可不可以抓到包,如果能抓到包的话就是后端验证,如果抓不到包就是前端验证。

        现在来写前端验证的两种常见绕过方法:

        1.通过开发者工具修改其前端代码,直接找到更改就可以这里不过多赘述。

        2.先上传一个符合要求后缀的文件,然后在bp中抓到包之后改为.php或其他后缀上传利用

        

        将我鼠标画的地方改成.php

然后放包就可以啦,之后会有回显复制图片地址以访问上传的木马

之后复制粘贴地址访问,上传成功

或者在bp中也能查看这里不做演示。

6.MINE类型检测绕过

        MINE类型介绍:多用途网络邮件扩展类型,可被称为多用途网络邮件扩展类型,他设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于HTTP通信和设定文档类型。早期用于电子邮件系统,后用于浏览器。

        抓包工具中的Content-Type就是mine类型。

        软件开发中后端语言可能通过mine类型来校验上传的文件这时只要更改mine类型就可以绕过校验以上传木马。

        

更改我标注的这里

改成这个样子之后放包

之后和之前说的步骤一样进行漏洞利用

7.黑名单绕过

黑名单验证介绍:黑名单验证顾名思义,就好比电话中的黑名单,你把谁放入黑名单,谁就打不进来电话,黑名单验证也是如此,在后端程序员会定义一个黑名单,上面存在的文件后缀无法上传,这就是黑名单验证。

那么如何绕过黑名单验证呢?

1. .php3绕过

如果对面的中间件版本过低并且没做合理验证(这里默认后端是php代码)直接可以将.php改为.php3以达到绕过目的。这里不做演示。

2. .htaccess绕过

.htaccess介绍:.htaccess文件允许我们针对特定目录及其子目录修改一些服务器设置,虽然这种类型的配置最好是在服务器本身配置文件的小节部分处理,但有时我们根本没有权限访问这个配置文件,尤其是当我们在一台共享的托管主机上,大多数共享主机服务商只允许我们以.htaccess方式来改变服务器的行为。

在对方没做严格校验的情况下,我们可以通过上传我们自己编写的.htaccess文件以使对方错误的解析我们上传文件的后缀以达到绕过目的。

我们先创建一个这样的文件

然后先上传这个文件

这里我们已经上传成功了。下一步就是将木马改成.jpg的文件上传

上传成功之后跟刚才步骤一样访问利用

这里一定要注意:中间件不能用nts版本,否则绕不过,重写功能一定要开起来!!!

3.大小写绕过

因为windows系统不区分后缀名的大小写所以可以进行大小写绕过

我们可以将后缀名改为大写以绕过

绕过成功之后按照之前的方法访问利用

4.空格绕过

系统在识别后缀时会自动过滤掉文件前面和后面的空格以实现绕过

首先需要前后先抓包

然后将我画的地方修改在文件前或后或同时加上空格

之后上传成功重复之前操作进行漏洞利用

5.  点绕过

和空格绕过原理一样在文件后缀后面加.程序员没进行验证的话读取时系统会自动去除.以实现绕过

过程一样先抓包然后改上传的文件的后缀在后面加.

释放以实现绕过

按照之前的方法利用

6.::$DATA绕过

原理:这是由于windows的特性,在读取文件名时,会把其后的数据当成文件流处理,这意味着它就不会检测后缀名,并保持其前面的文件名,其目的就是不检查后缀以实现绕过

首先上传一个木马然后抓包抓住

之后在我标注的地方后面加::$DATA

上传成功,之后和之前一样进行漏洞利用

小编提醒,记得复制文件地址时要将后面的::$DATA去掉哦!!

7.点空点绕过

原理:程序员在后端判之前的过滤操作只做一次,所以可以用. .进行绕过,他过滤时只会过滤一个 .和空格,还剩一个以进行绕过。

开始过程还是和之前一样,先上传一个木马,然后抓包更改后缀

我标注的地方改成这个样子,然后放包

上传绕过成功

按照之前的方式进行漏洞利用

8.双写绕过

这种绕过方法需要基于白盒层面去分析源码以利用漏洞,黑盒层面是很难测试出来的这里就不过多赘述原理了。举个例子,如果通过审计发现程序员在验证后会删除php类似的字符等,那么我们就可以在php中再加个php以实现绕过。

上传后发现上传成功中间的php没了,之后进行利用。

8.文章结语

这就是文件上传漏洞的“前端绕过”,“MINE类型绕过”,“黑名单绕过”的内容,其他有关文件上传漏洞的内容后续小编会更新!!!

9.我爱web!!!

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值