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

条件竞争漏洞

.
介绍
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同的请求时是并发进行的,因此如果并发处理不当或相关操作顺序设计的不合理时,将会导致此类问题的发生
原理
上传文件源代码里没有校验上传的文件,文件直接上传,上传成功后才进行判断:如果文件格式符合要求,则重命名,如果文件格式不符合要求,将文件删除
由于服务器并发处理(同时)多个请求,假如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替换为写入文件代码,就可永久保存一个木马文件
在这里插入图片描述

发布了47 篇原创文章 · 获赞 36 · 访问量 4107

猜你喜欢

转载自blog.csdn.net/wsnbbz/article/details/104651408