攻防世界——wzsc_文件上传

拿到靶机后有一个文件上传界面

随便传个文本看看有什么返回

上传后页面跳转到upload.php

但这里什么也没有

用dirsearch扫一下

发现有一个flag.php文件,并且还有一个upload目录

访问flag.php文件

也是什么都没有

访问upload目录

发现了我们刚刚上传的文本

那就说明文件上传的路径在upload目录下

写一句话木马上传

复制代码
<?php @eval($_POST['rc'];?>

上传成功

但是找不到文件

猜测是文件在上传之后就被删除了

这里我们可以利用条件竞争漏洞进行文件上传

服务器处理代码时总会存在一定的时间差 ,当我们在上传文件后就多次快速尝试访问目标文件,那么是不是有机会在删除前成功访问文件。而如果文件的代码是重新创建一个木马文件,新木马文件则永远不会被删除了!

构造木马

复制代码
<?php fputs(fopen("shell.php", "w"), '<?php @eval($_POST["shell"]); ?>'); ?>

直接使用<?php @eval(_POST\["shell"\]); ?\>的Webshell会随着原始文件被删除而失效。而通过fopen/fputs方式: **\_POST"shell"); ?>'); ?>**

这段代码会在服务器上创建一个全新的、独立的文件,不受原始上传文件生命周期的影响,提供持久化的后门访问。

构造条件竞争进程

首先,需要设置两个,一个为上传包进程,一个为访问包进程,

只要在没有被删除前访问到木马文件就可以上传一句话木马。

其中访问进程需大于上传进程。

构造上传进程

构造上传post地址池,并发线程为30

构造上传程序

勾选一个影响不大的东西,这里勾选的东西需要确保置换为空时不产生影响的

构造访问进程

构造访问require地址池,并发线程为50

成功了

蚁剑访问

相关推荐
mmsx5 分钟前
Android 防二次打包第一道锁:签名校验与完整性校验
android·kotlin
mmsx6 分钟前
Android 混淆不等于安全:二次打包链路完整走一遍
android·kotlin
print_Hyon1 小时前
【CTF-CRYPTO-教学-RSA】第十三节:知道e、p和q的变形表达式,解密c
ctf
小宋10212 小时前
Agent轨迹级评测实战:工具选择、预算超限与回归门禁
android·网络·人工智能·回归
墨云安全2 小时前
红队评估和渗透测试的区别是什么?2026 年从目标、方法到交付物的对比
网络·安全·web安全·网络安全·渗透测试
墨天梦4 小时前
D05_ViewModel与单向数据流
android·kotlin
蒸鱼Yuzheng5 小时前
Android 构建可复现性:APK 指纹、文件级差异与供应链审计
android·apk·devops·软件供应链·可复现构建
刘婉晴5 小时前
【APP安全测试】Frida 基础
网络安全
科技象限7 小时前
数据防泄密系统怎么选?看它怎么把几道防线叠成网
运维·安全·网络安全·安企神
print_Hyon7 小时前
【CTF-CRYPTO-教学-RSA】第七节:低加密指数攻击,已知n和e求c(e很小,m的e次方比n小,c可直接开方得到结果)
ctf