文件上传upload-labs通关攻略

第一关

这里我们上传php文件抓包,数据不经过brup,

我们修改文件后缀为jpg试试,我们看到数据经过后端了,并将hacker.jpg后缀改回php

我们看到上传成功

右击新建标签浏览图片得到上传文件的目录

第二关

上传文件看看先,它数据经过后端

这里我们抓包看看,我们可以看到他是类型错误,我们将Content-Type: application/octet-stream

改为Content-Type: image/png在发送数据包

这里我们看到上传成功

在查看文件路径

第三关

这里我们看到他对文件上传进行了限制

我们抓个数据包,并修改数据包如下,我们进行双写绕过

上传成功

这里我们将文件后缀改回php即可查询

第四关

本关需要用到apache的.htaccess漏洞,他将4.jpg当成php文件执行

文件内容为

<FilesMatch "4.jpg">
Sethandler application/x-httpd-php
</FilesMatch>

上传4.jpg

第五关

这里我们使用大写PHp去上传

第六关

对比前面代码发现本关没有首尾去空

抓包,此处php后加空格

第七关

和第六关一样,windows文件后缀名不能加’.',一样使用burp抓包然后后缀加一个点。

上传成功

第八关

查看关卡源码,对比第四关,发现少了去除字符串,和前面关卡一样,在burp中抓包在文件名后加::$DATA

第九关

查看源码,和前几关相比,本关明显不能按前几关的思路来绕过,仔细看了一下代码,发现没有循环验证,也就是说转换大小写去除空格什么的它只验证一次,所以我的思路是想把后缀改为.phP . .,直接开始实验。

成功绕过

第十关

本关可以采用点和空格相结合绕过

上传成功

第十一关

这里上传我们看到他把我们的php给过滤了

那么我们采用双写绕过

成功上传

第十二关

看源码,我们看到这关是白名单,只允许特定文件上传

这里我们可以使用%00截断,让文件以php运行

成功上传

第十三关

POST%00截断,我们在php后加入一个参数,并将其hex码改为00

上传成功

第十四关

直接上传图片码

文件上传成功

成功连接菜刀

第十五关

同上14关

第十六关

同上十四关

第十七关

上传二次渲染的图片码

上传成功

同上连接caidao

第十八关

这道题用了白名单过滤文件名后缀,然后检查了文件大小以及文件是否已经存在。文件上传之后又对其进行了重命名。

这里有一个细节,由于可能是这个靶场的作者的某种原因可能有误,上传的图片路径不是放在upload文件夹下,所以我们要进去修改一下第18关的代码文件

我们可以采用竞争上传进行绕过

代码为

<?php @fputs(fopen('123.php',w),'<?php phpinfo();?>');?>

使用文件包含进行访问,因为上传后会进行重命名,所以我们就竞争上传后改名前的这一段时间进行操作,bp抓包多重复访问

上传成功

第十九关

直接上传jpg文件,并将保存名称写为.php./

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值