zoukankan      html  css  js  c++  java
  • 「渗透测试练习」一次上传漏洞的绕过分析

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

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

     

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

     

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

     

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

     

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

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

     

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

     

    成功执行代码。

     

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

  • 相关阅读:
    python详解json模块
    postman---post请求数据类型
    postman---postman发送请求
    SpringBoot之集成通用Mapper
    Mybatis-generator/通用Mapper/Mybatis-Plus对比
    spring-data-JPA repository自定义方法规则
    JPA之@GeneratedValue注解
    Java工具类NumberUtils使用
    shell函数
    Maven的生命周期
  • 原文地址:https://www.cnblogs.com/wjw-zm/p/11677057.html
Copyright © 2011-2022 走看看