「渗透测试练习」一次上传漏洞的绕过分析

穿精又带淫゛_ 提交于 2019-12-01 09:55:10

在一次测试中遇到一个有趣的文件上传漏洞,通过黑盒加白盒测试成功绕过限制获取到Webshell,本次测试所用的环境均为自己搭建的测试环境。

上传点在上传主题文件处,首先我们来上传php文件提示上传失败。

 

结合代码分析此处上传点,发现代码中判断上传文件是否为压缩文件,如果文件后缀不是.tar.gz或.zip文件则提示上传失败。

 

在判断程序是否为压缩文件后,进而判断文件体积是否符合,如果体积符合则上传文件并调用相关解压类进行解压,在解压后删除压缩包文件。文件保存目录以压缩包文件名:\themes\压缩文件名\

 

思路1:通过在压缩包中放置shell文件,程序自动解压就拿到shell了。

 

然后在我们访问shell文件后,才发现并没有想象的可以成功执行代码。

 我们再来结合环境分析下此处,发现在\data\themes目录下存在.htaccess文件重写了php、phtml文件,没有执行权限。

 

思路2:在压缩包中放置.htaccess和shell文件,重新定义php文件解析权限。

 

成功执行代码。

 

总结:在实际的渗透测试中由于目标环境多样化和复杂化,要综合利用多种漏洞和技术手段才能达到目的。但是漏洞种类繁多,技术水平较弱,难以达到理想的结果。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!