文件上传---条件竞争

文件上传—条件竞争

f7bdacc213aa5928284d8955fd8a839此代码逻辑先进行了文件上传,再进行了逻辑判断。那么在逻辑判断到删除不允许的文件这个过程有一个时间,导致了后门代码存在了此服务器上。虽然这个后门php文件很快很快就会被删除掉,但是我们可以利用BP这个工具不断的发送,一边不断发送,一边不断的访问。问题文件代码如下:

<?php fputs(fopen('1.php','w'),'<?php eval($_REQUEST[1]);?>');?>

这行代码的意思就是,以写的方式打开一个1.php文件,如果不存在可以自动创建,写入后面的eval函数也就是一句话木马。所以如果此文件被访问成功后会自动生成一个1.php后门。

在CPU不断执行unlink删除函数时,我们也不断的发送访问数据包和上传文件的数据包。就等着某一次对方CPU会先执行访问的指令,而不是先执行删除指令。这就是条件竞争。过不了多久,后门文件应该就会生成出来。我们再手动访问即可。

接下来我演示一个案例:

第一步:

要先确定上传过后的文件路径,和确保文件名没有被重命名。如果对方有对我们上传的文件名进行重命名的话,那就不能用我这篇文章讲的方法来做了。

先上传一个正确格式的jpg图片上去,看看文件被保存在了什么路径下。确定了就是在当前路径的upload文件夹里。

1698320092768

第二步:

抓取一个访问此路径的数据包。如下图:

1698320309574再抓取一个上传a.php文件的数据包,然后不断的发送请求。

1698320517998

第三步:

把上传文件的数据包,和访问文件的数据包都设置成这个类型:Null paloads(意思是不携带任何参数),

点击修改成Continue indefinitely(意思是不限时间,一直发送)

1698320556145

点击,右上角的 Start attack开始发送

先发送哪个后发送哪个影响不大。如下图就是开始了

1698320846772

在我上面的代码里,创建的是1.php文件,所以我们手动去访问/upload/1.php文件即可。如果访问没问题,那就是后门创建成功了。

1698321126173如下图:没有任何报错,用哥斯拉连接即可。

1698321213945​​1698321315220
所以正常的上传文件的逻辑应该是 先进性合法性的判断,再进行上传文件的操作​;而不是先做上传的操作,再进行合法性的判断。
感谢观看

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值