6.3笔记 文件上传常见漏洞

文件上传漏洞常见漏洞:

条件竞争绕过

条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。

竞争条件:服务端首先是允许用户上传任意类型的文件,上传过后再去检查文件,如果文件存在恶意的内容,那么就会执行删除操作,可以利用这个时间差来完成攻击

由于服务器并发处理(同时)多个请求,假如a用户上传了木马文件,由于代码执行需要时间,在此过程中b用户访问了a用户上传的文件,会有以下三种情况:

1.访问时间点在上传成功之前,没有此文件。

2.访问时间点在刚上传成功但还没有进行判断,该文件存在。

3.访问时间点在判断之后,文件被删除,没有此文件

(我们上传一个文件上去,后端会检验上传文件是否和要求的文件是否一致。如果不能达到要求就会删除文件,如果达成要求就会保留,那么当我们上传文件上去的时候,检测是否到达要求需要一定的时间,这个时间可长可短,但是我们确确实实在某一刻文件已经上传到了指定地址,并且访问到这个文件。这时候就会造成条件竞争。)

准备一个1.php文件,代码如下:

<?php fputs(fopen('shell.php','w'),'<?php eval($_post[cmd]);>');?>

生成新文件shell.php,内容为<?php eval($_post[cmd]);>

1.上传上文的PHP文件,用Burp抓包后,发送到Intruder模块,设置了相关参数后,点击attack

2.再用浏览器去访问靶机上传目录下的上传文件,用Burp抓包,发送到Intruder模块,设置了相关参数后,点击attack

3.最后发现上传目录生成了shell.php

简述:不断的一直发送PHP文件,再利用系统删除文件可能会有一点点延迟的特点,不停的访问上传的文件,就有可能在目录中生成新的木马文件,即使删除了上传文件,但是新的木马文件已经生成

图片的二次渲染绕过

1.二次渲染原理:

在我们上传文件后,网站会对图片进行二次处理(格式、尺寸要求等),(即重新生成图片,对可能包含在图片里的木马等等去掉)服务器会把里面的内容进行替换更新,处理完成后,根据我们原有的图片生成一个新的图片并放到网站对应的标签进行显示

2.绕过:

(1)配合文件包含漏洞:将一句话木马插入到网站二次处理后的图片中,也就是把一句话插入图片在二次渲染后会保留的那部分数据里,确保不会在二次处理时删除掉。这样二次渲染后的图片中就存在了一句话,在配合文件包含漏洞获取webshell。

(2)可以配合条件竞争:这里二次渲染的逻辑存在漏洞,先将文件上传,之后再判断,符合就保存,不符合删除,可利用条件竞争来进行爆破上传
 

文件包含漏洞

文件包含:在程序员开发过程中,通常会把可重复使用的函数写到单个文件中,在使用某些函数时,直接调用此次文件,无需再次编写,这种调用文件的过程一般被称为文件包含。

文件包含漏洞:随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校检或者校检被绕过就造成了文件包含漏洞。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值