freeBuf
漏洞挖掘 | 某OA系统任意文件上传
2024-05-08 11:19:24

一、前言

这个oa系统有个前提,就是/resource目录下专门存储静态文件,是不解析的,想要文件上传就需要利用目录穿越到代码所在的/C6目录下面

二、思路历程

咱们findstr搜索下上传的关键字,比如:uploadfile这类的


好吧一看还挺多,咱们挑一个来看,比如Web.Module.dll文件

反编译dll文件打开查看Web.Module.dll,找到一个Save关键字的上传方法

看下类UploadFileEditorSave,初始化方法为Page_Load


传参FileName会被作为文件保存的路径,存入text中

之后判断fileSerName是否为""的字符串,而fileSerName是从配置中读取到的

是""则调用

path = UploadFileEditorSave.MapFilePath(text);

不是""则调用

path = Upload.MapFilePath(text);


这边假设他不为"",因为一般配置中信息不为空

追踪Upload.MapFilePath方法:

首先代码先对_FilePath做了处理

_FilePath = _FilePath.ToLower();

首先获取转成小写的字符串路径

_FilePath = _FilePath.Replace("\\", "//").Replace("/resou
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
文章目录