文件上传漏洞之——利用条件竞争绕过

条件竞争漏洞

.
介绍
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同的请求时是并发进行的,因此如果并发处理不当或相关操作顺序设计的不合理时,将会导致此类问题的发生
原理
上传文件源代码里没有校验上传的文件,文件直接上传,上传成功后才进行判断:如果文件格式符合要求,则重命名,如果文件格式不符合要求,将文件删除
由于服务器并发处理(同时)多个请求,假如a用户上传了木马文件,由于代码执行需要时间,在此过程中b用户访问了a用户上传的文件,会有以下三种情况:
1.访问时间点在上传成功之前,没有此文件
2.访问时间点在刚上传成功但还没有进行判断,该文件存在
3.访问时间点在判断之后,文件被删除,没有此文件
复现
临时:
通过bp的intruder模块大量发送上传文件数据包,再新开一个intruder模块大量接受访问此文件的数据包,会出现一些执行成功的结果
永久:
执行成功时,通过代码写入一个文件,文件里写入木马, 之后重复临时的步骤,执行成功时就会将带有木马的文件写入
写文件代码:

		<?php
$f=fopen("shell.php","w");
fputs($f,'<?php phpinfo(); ?>');
?>

实例
1.上传一个1.php,抓包,访问1.php,抓包,发送到inturde添加?a=1爆破点
在这里插入图片描述
在这里插入图片描述
2.同时运行一万次,可看到有200访问成功出现,将phpinfo替换为写入文件代码,就可永久保存一个木马文件
在这里插入图片描述

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值