入门级的文件上传分析

admin 2022年4月23日03:18:44评论62 views字数 1270阅读4分14秒阅读模式

入门级的文件上传分析

戟星安全实验室


    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约1200字,阅读约需4分钟。


入门级的文件上传分析

0x00 前言

入门级的文件上传分析


黑盒的文件上传漏洞测试的挺多,常规安全渗透测试中很少会用到白盒审计的方式去找文件上传漏洞,主要还是想着学习一点原理,这里用存在漏洞的CMSATutorATutor是一款学习管理系统。

入门级的文件上传分析

0x01 环境搭建

入门级的文件上传分析


  • 环境准备

源码下载地址:

https://github.com/atutor/ATutor

入门级的文件上传分析


这里采用phpstudy的方式搭建,网站搭建过程这里不做演示。


入门级的文件上传分析


  • 漏洞复现

这里漏洞存在点为system preferences-->languages-->import,这里除了语言导入功能存在任意文件上传以外,其它类似的功能点也存在一定问题。


入门级的文件上传分析


这里复现可以自己构造一个简单的phpinfo文件进行上传验证,尝试直接php文件上传会报错。


入门级的文件上传分析


这里上传文件后缀为zip格式可直接上传


入门级的文件上传分析


在网站的源文件中可以看到zip被自动解压,且没有对文件的内容后缀进行任何校验。


入门级的文件上传分析


尝试访问,发现可以达到任意文件上传的效果。


入门级的文件上传分析


漏洞复现过程比较简单,这个漏洞利用有一定的条件限制,需要管理员权限登录后台,可以尝试简单分析一下源码,了解任意文件上传的原因。


  • 漏洞分析

直接使用VsCode进行分析。


入门级的文件上传分析


         根据漏洞批露细节我们可以知道,漏洞存在位置位于语言上传模块中,这里我们直接查看language_import.php


入门级的文件上传分析


从第35行代码可以看出来有文件上传,且在对上传文件的格式进行过滤,这里是不能上传空文件以及不支持上传的文件,从这里可以得知此处功能点在。


入门级的文件上传分析


文件上传成功之后进入languageManager


入门级的文件上传分析


接下来需要看的是languageManager中的import方法,这里是对zip文件进行处理,到这里就可以看出整个的文件上传路线是提交上传文件-->对文件进行简单过滤-->对文件直接进行解压放到网站目录下


入门级的文件上传分析


对文件进行解压然后放到网站的import目录下


入门级的文件上传分析


这里可以简单了解一下PclZip这个类,网上介绍这个类是一款功能比较强大的PHP压缩和解压缩类,所有功能细节可以查看pclzip.lib.php


入门级的文件上传分析


入门级的文件上传分析

0x02 总结

入门级的文件上传分析


刚开始从代码层面去看漏洞成因其实是比较懵的,但是好在一点有网上大佬以及各种各样的帮助文档,可以帮助理解,不过孰能生巧,记住方法的调用以及跟进函数的处理,可以有所帮助,这个管理系统,相似的任意文件上传还存在很多地方,可以尝试分析一下。


 声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,破军安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经破军安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。


入门级的文件上传分析

戟星安全实验室

# 长按二维码 关注我们 #



原文始发于微信公众号(戟星安全实验室):入门级的文件上传分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月23日03:18:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   入门级的文件上传分析https://cn-sec.com/archives/915911.html

发表评论

匿名网友 填写信息