文件上传的题目遇到的不是很多,这里分析一下文件上传竞争
上传竞争的来源:
栗子:先存储文件,再判断是否合法,然后再删除。
首先将文件上传到服务器,然后检测文件后缀名,如果不符合条件,就删掉,典型的“引狼入室”
攻击:首先上传一个php文件
当然这个文件会被立马删掉,所以我们使用多线程并发的访问上传的文件,总会有一次在上传文件到删除文件这个时间段内访问到上传的php文件,一旦我们成功访问到了上传的文件,那么它就会向服务器写一个shell。
这里有一道对于文件上传竞争的wp:
2018护网杯第一场 web easy tornado LTshop超详细解答
同时我们来看一下moctf的一道题:
http://119.23.73.3:5006/web2/index2.php
直接访问index2.php肯定不正常,抓包修改成index.php,提示uploadsomething.php
访问之后是一个文件上传页面。自定义文件名和文件内容
文件名可以是php后缀的,那思路就是写一个shell进去再访问,但是访问时候页面提示太慢了。
所以题目可能是检测到了php代码将其删除了,于是考虑文件上传竞争
抓两个包,一个是文件上传的 /web2/uploadsomething.php?filename=1.php&content=%3C%3Fphp%2Bsystem%28%E2%80%9Cls%E2%80%9D%29%3B%3F%3E
另一个是访问的 /web2/uploads/56db0b8d99fd6116ed67d35b607cd9351ea94156/1.php
都发送到intruder模块,设置线程为50,字典为空
先爆破第一个:
然后爆破第二个:
就会有flag了