upload-labs系列–pass-04

J1angL1 346 0

0x00 判断是什么上传限制

我们先上传一下文件试一下报错是什么,看看是什么类型的限制。可以看出来,它报错显示该文件不允许上传,大概率是黑名单限制上传。

upload-labs系列--pass-04

接着我们可以看一下源码和提示,发现它确实是黑名单限制,并且将大小写,同类型文件解析等方法完全限制了,那么我们只能想办法从其他方面下手试试。我们可以发现,没有对.htaccess文件进行限制(要不以后写一个匹配脚本,有黑名单限制的时候就匹配一下看看有什么没有进行限制[aru_13])那么我们就可以考虑,会不会是.htaccess文件重写绕过。

upload-labs系列--pass-04

我们重载网络看一下网站中间件server是什么,发现是Apache,而Apache里面多数是开启着rewrite这一模块,.htaccess文件生效也正是需要这个模块,那么我们可以尝试一下.htaccess文件重写。

 

upload-labs系列--pass-04

upload-labs系列--pass-04

htaccess 里写入 SetHandler application/x-httpd-php 则可以文件重写成 php

<FilesMatch "jpg">
SetHandler application/x-httpd-php
</FilesMatch>

那么我们可以尝试一下先上传.htaccess文件,然后将.jpg文件上传令其重写为.php文件并进行连接。

0x01 绕过文件上传限制

简单说一下.htaccess文件的作用:htaccess文件的作用是 可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面改变你的文件扩展名封禁特定 IP 地址的用户只允许特定 IP 址的用户、禁止目录列表,以及使用其他文件作为 index 文件等一些功能。

那么我们就可以利用他的重写功能进行jpg重写为php进行绕过。

我们先将shell写入php文件中,并将其转为jpg格式,进行上传,我们点开上传文件会发现因为是php转为jpg格式的文件导致访问显示错误,

upload-labs系列--pass-04

那么我们再将上述代码写入.htaccess文件中进行上传,这样jpg文件会被重写为php格式,

upload-labs系列--pass-04

upload-labs系列--pass-04

我们直接用蚁剑进行连接,地址是.jpg文件的地址。

upload-labs系列--pass-04

0x02 结语

其实文件上传漏洞可以结合的地方有很多,结合服务器,结合系统等的解析漏洞或是其他漏洞进行操作,感觉还是看信息收集能力?或者碰运气,万一运气好了,正好服务开着,那就[aru_5]

发表评论 取消回复
表情 图片 链接 代码

分享