upload-labs Pass13

管理员 2020-02-18 PM 165℃ 0条

1.同样审查源码,发现跟上一关只有一处不同,那就是这个 “$_POST['save_path']”,上一关是GET方法传进保存路径,而这关使用POST方法,关于POST跟GET的区别我不多讲。

2.那上一关可以使用%00截断进行文件名操作,这题是不是也可以呢?答案是 NO,但是可以使用另一个方法——0x00截断,其实他们的原理是一样的,就是编码问题而已,本质上都是ascii码中的保留符号 null

具体的原理可以看这里:关于0x00截断与%00截断

3.使用 burpsuite拦截下包

在保存路径那里添加 info.phpp我们想要保存在服务器的文件名,大家会问怎么php多了个p?其实是为了我们添加0x00比较方便预留了一个位置,ascii中的null是不能直接输入的,所以需要点击hex进行修改16进制值

找到我们输入的保存的路径的16进制值,把最后一个p也就是70,改为00,这样就实现了向文件名尾部加入null的这么一个操作。

下面是修改后,然后点击放行提交

3.可以看到文件上传成功

我们同样跟上一关一样文件名只保留 info.php进行访问

执行成功

标签: 0x00截断

非特殊说明,本博所有文章均为博主原创。

评论啦~