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

用友NC-ActionHandlerServlet反序列化漏洞分析
雷石安全实验室 2023-08-18 14:02:00 382767

前言

用友NC被披露过很多漏洞,其中反序列化漏洞尤为多,很多的接口都存在反序列化漏洞,网上披露的漏洞信息却很模糊,当自己把这些漏洞整合成工具时发现很多漏洞复现失败,只得回过头动手分析一探究竟。

分析

通过公开信息得知,用友NC 的ActionHandlerServlet接口存在反序列化漏洞。受影响的版本有NC6.3、NC6.5。

凭借对用友NC的历史反序列化漏洞了解,大多接口都是直接反序列化。便用同样方法测试,结果都是失败。

正好本地搭建有环境,那便直接找文件看源码。

已经知道了接口,通过接口ActionHandlerServlet找到对应的类。
如下:
image

这里有三个方法 post和get接收到请求后调用了process()

查看process()
可以看到 34行,将接收到的请求先用GZIPInputStream进行了Gzip解压缩
image

然后紧接着就进行了反序列化,造成了反序列化漏洞。

看了代码获知 该接口请求的的序列化数据需要进行gzip压缩。

复现:

触发dnslog回显
image

image

写文件
image

poc编写问题:

在编写poc,对序列化数据进行gzip压缩时,出现了问题。

通过gzip库压缩后的数据与burp编码后的结果不同
原始 序列化数据
image

用burp进行gzip解压看到的序列化数据\xff变为了\xc3\xbf
image

说明序列化数据经过gzip压缩时数据被改变了。

utf-8编码问题
经过查阅资料,找到一些信息,发现是UTF-8编码的问题:
1.字节FF和FE在UTF-8编码中永远不会出现
2.UTF-8是一种变长编码

修改编码为“ASCII”,问题解决
image

image

image

# 渗透测试 # 网络安全 # 漏洞分析
本文为 雷石安全实验室 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
雷石安全实验室 LV.6
这家伙太懒了,还未填写个人描述!
  • 88 文章数
  • 132 关注者
对用友NC“任意文件读取”漏洞的分析
2024-01-29
雷石|二进制漏洞之数组越界and缓冲区进行数据同步
2023-09-01
一例ReactNative App分析
2023-08-18
文章目录