[CTF]web进阶之文件上传

题目:web进阶之文件上传
查看题目,底下已经给出了源代码:
在这里插入图片描述
服务器对文件进行了白名单设置,允许上传zip、jpg、gif、png文件!我随便上传几张一句话木马图片,均能够上传成功,说明他只对文件的后缀进行验证。上传不难,难的是上传后找不到文件的路径,无法访问。
在这里插入图片描述
在这里插入图片描述
观察关于目录的代码发现,文件上传后,会随机生成一个MD5目录,把文件放在这个地方,但是MD5目录无法预知,所以难度大大的加大。
通过解读zip文件代码可知,通过zip上传后,服务器会对zip进行解压,放在upload目录下,然后如果这个目录下含有非白名单的文件,就会对该文件进行删除,所以一个办法就是把文件解压到upload目录之外
把一句话PHP代码重新命名,shell.php.xxxxx,压缩成1234.zip文件,然后用010 editor打开,修改压缩包内的文件为…/…/shell.php.xxxxx,保存,这样做的目的是为了解压时把文件解压到根目录下。
在这里插入图片描述
上传该文件,成功上传,随后访问shell.php文件,即可得到flag。
在这里插入图片描述
另一种构想的方法:我记得一句话,根本就没有绝对的伪随机数。这个题目将1000至9999内的数字随机拿出一个进行MD5加密作为目录,那么可已设想,如果我们能够碰撞出该目录,会不会就能够进行访问了?
我写了一段代码,从999到10000进行循环,然后对i进行MD5加密,构造一个目录,然后进行访问,如果有返回值,则说明存在这个目录。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值