freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

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

一、前言

这个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
可试读前30%内容
¥ 19.9 全文查看
9.9元开通FVIP会员
畅读付费文章
最低0.3元/天
# 漏洞 # 网络安全 # web安全 # 漏洞分析 # 代码审计
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 chobits02 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
代码审计
chobits02 LV.4
网络安全的尽头是? C4安全团队 | 公众号:C4安全团队
  • 21 文章数
  • 75 关注者
用友U8 Cloud移动报表mobilereport接口SQL注入漏洞分析
2025-03-26
Java代码审计 | 华天动力OA漏洞分析两则
2025-03-07
一次Jwt伪造漏洞实战案例分析
2024-12-24
文章目录