我们通过查看源代码,可以清楚的知道竟争条件:
这里先将文件上传到服务器,然后通过rename修改名称,再通过unlink删除文件,因此可以通过条件竞争的方式在unlink之前,访问webshell。
一、首先在 BurpSuit 中不断发送上传webshell的数据包;
具体步骤如下:
1、抓包;
2、Action - Send to lntruder;
3、先选中,再通过add、clear等来设置Payload,请修改成如下图我的样子。
4、Payloads设置选项参数,如下图:
5、点击“Start attack”,以下两个地方任意一个地方都可以。
二、最后:打开“http://192.168.1.104/upload-labs/upload/phpinfo.php”,不断在浏览器中刷新,刷新,在刷新......你会看到下面的结果:
不过,有点遗憾的是,我在本地测试的时候,虽然BurpSuite一直在不断的上传数据包,但是我刷新并没有反应,还报了404。或许原因是:我只等了一会看没效果,我就关闭了,也没有那个耐心一直等它把包发完。