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

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

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

 

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

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

 

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

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

 

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

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

 

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

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

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

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

 

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

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

 

成功执行代码。

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

 

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

相关文章:

  • 2021-11-18
  • 2021-12-20
  • 2021-11-18
  • 2021-11-08
  • 2021-04-25
  • 2021-08-08
  • 2021-09-25
  • 2022-12-23
猜你喜欢
  • 2021-07-19
  • 2021-05-03
  • 2022-12-23
  • 2021-09-07
  • 2021-08-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案