攻击JavaWeb应用[7]-Server篇[1]
字数 2894 2025-08-29 08:31:41

JavaWeb应用服务器安全分析与攻击技术

一、Java应用服务器概述

Java应用服务器主要为应用程序提供运行环境,为组件提供服务,主要分为两类:

  • JSP服务器
  • Java EE服务器

常见Java服务器包括:Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere等。

二、Tomcat服务器安全分析

1. Tomcat基础信息

主流版本:5.x、6.x、7.x、8.x

目录结构

  • Tomcat5: Bin、common、conf、LICENSE、logs等
  • Tomcat6-8: Bin、conf、lib、LICENSE、logs等

重要配置文件

  • conf/tomcat-users.xml:用户账号和角色配置
  • conf/context.xml:数据源配置
  • conf/server.xml:端口、域名绑定、SSL配置
  • conf/web.xml:容器初始化配置

2. Tomcat攻击技术

(1) 后台部署war获取WebShell

步骤

  1. 访问管理后台:http://xxx.com/manager/html
  2. 使用"WAR file to deploy"功能上传恶意war包
  3. 访问部署的WebShell

注意事项

  • 默认需要manager角色权限
  • Tomcat5默认账号:both/tomcat、tomcat/tomcat、role1/tomcat
  • Tomcat6默认无配置用户

(2) 口令爆破技术

特征

  • 使用Base64(用户名:密码)编码认证
  • 响应码非401表示登录成功

爆破代码示例

conn.setRequestProperty("Authorization", "Basic " + 
    new BASE64Encoder().encode((user + ":" + pass).getBytes()));

(3) Tomcat历史漏洞

漏洞资源

  • 官方安全公告:
    • Tomcat5: http://tomcat.apache.org/security-5.html
    • Tomcat6: http://tomcat.apache.org/security-6.html
    • Tomcat7: http://tomcat.apache.org/security-7.html
  • CVE数据库:http://cve.scap.org.cn
  • Sebug漏洞库:http://sebug.net

重要漏洞示例

  • CVE-2013-2067:Session fixation (6.0.21-6.0.36)
  • CVE-2012-3544:Denial of service (6.0.0-6.0.36)
  • CVE-2008-2938:Directory traversal (6.0.18)

3. Tomcat识别技巧

  • 响应头包含:Server:Apache-Coyote/1.1
  • 通过错误页面获取具体版本信息

三、Resin服务器安全分析

1. Resin基础信息

特点:默认支持PHP解析(通过Quercus)

主流版本:Resin3.x、Resin4.x

重要配置文件

  • Resin3: conf/resin.conf
  • Resin4: conf/resin.xml

2. Resin攻击技术

(1) 获取WebShell

Resin4 Web部署

  1. 登录管理后台
  2. 通过HTTPS访问(需开启8443端口)
  3. 使用"Deploy"功能上传war包

Resin3部署

  • 直接将war包放入webapps目录会自动部署

(2) 管理密码安全

加密方式

  • Resin3: MD5+Base64
  • Resin4: SSHA加密

密码配置文件示例

admin_user : admin
admin_password : {SSHA}XwNZqf8vxNt5BJKIGyKT6WMBGxV5OeIi

3. Resin安全配置

默认限制

<resin:set var="resin_admin_external" value="false"/>

需改为true才能外部访问管理后台

四、Weblogic服务器安全分析

1. Weblogic基础信息

版本差异

  • 10g以下:http://host:7001/console/login/LoginForm.jsp
  • 10g以上:http://host:7001/console

默认端口:7001

2. Weblogic攻击技术

(1) 密码配置文件

位置

Weblogic12/user_projects/domains/base_domain/servers/AdminServer/security/boot.properties

加密方式

  • Weblogic9: 3DES加密
  • Weblogic12: AES加密(需配合SerializedSystemIni.dat)

(2) 获取WebShell

通过管理后台部署war包获取WebShell

3. Weblogic域概念

域是由单个管理服务器管理的WebLogic Server实例集合,包含:

  • 配置文件
  • Web应用
  • 安全策略

五、Websphere服务器安全分析

1. Websphere基础信息

主流版本:6.x、7.x、8.x

管理后台https://localhost:9043/ibm/console/logon.jsp

默认凭证

  • admin/(空)
  • websphere/websphere
  • system/manager

2. Websphere攻击技术

获取WebShell

  1. 登录管理后台
  2. 部署war应用
  3. 注意上下文名称设置
  4. 保存配置使其生效

版本兼容性

  • Websphere6仅支持Web应用2.3(需修改web.xml)

六、GlassFish服务器安全分析

1. GlassFish基础信息

管理后台http://localhost:4848

默认凭证

  • GlassFish2: admin/adminadmin
  • GlassFish3/4: 本地自动登录,远程需启用Secure Admin

2. GlassFish攻击技术

通过管理后台部署war包获取WebShell

七、通用攻击方法

1. 构建WebShell war文件

步骤

  1. 使用MyEclipse新建Web项目
  2. 将jsp放入WebRoot目录
  3. 导出项目为war文件

2. 服务器识别技巧

  • 检查默认管理页面
  • 分析响应头信息
  • 扫描常见端口
  • 检查错误页面特征

3. 配置文件利用

  • 查找数据源配置获取数据库凭证
  • 分析server.xml获取绑定域名和目录
  • 检查context.xml获取上下文配置

八、防御建议

  1. 修改默认密码和禁用默认账户
  2. 限制管理后台访问IP
  3. 及时更新补丁修复已知漏洞
  4. 禁用不必要的功能和端口
  5. 加强文件上传和部署审核
  6. 配置适当的访问控制策略
  7. 启用HTTPS加密管理通道
  8. 定期审计服务器配置和日志

九、资源参考

  1. Tomcat版本选择:http://tomcat.apache.org/whichversion.html
  2. Tomcat Manager配置:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html
  3. Resin安全文档:http://www.caucho.com/resin-3.1/doc/resin-security.xtp
  4. Weblogic密码解密:http://drops.wooyun.org/tips/349
  5. CVE漏洞数据库:http://cve.scap.org.cn
  6. Sebug漏洞库:http://sebug.net
JavaWeb应用服务器安全分析与攻击技术 一、Java应用服务器概述 Java应用服务器主要为应用程序提供运行环境,为组件提供服务,主要分为两类: JSP服务器 Java EE服务器 常见Java服务器包括:Tomcat、Weblogic、JBoss、GlassFish、Jetty、Resin、IBM Websphere等。 二、Tomcat服务器安全分析 1. Tomcat基础信息 主流版本 :5.x、6.x、7.x、8.x 目录结构 : Tomcat5: Bin、common、conf、LICENSE、logs等 Tomcat6-8: Bin、conf、lib、LICENSE、logs等 重要配置文件 : conf/tomcat-users.xml :用户账号和角色配置 conf/context.xml :数据源配置 conf/server.xml :端口、域名绑定、SSL配置 conf/web.xml :容器初始化配置 2. Tomcat攻击技术 (1) 后台部署war获取WebShell 步骤 : 访问管理后台: http://xxx.com/manager/html 使用"WAR file to deploy"功能上传恶意war包 访问部署的WebShell 注意事项 : 默认需要manager角色权限 Tomcat5默认账号:both/tomcat、tomcat/tomcat、role1/tomcat Tomcat6默认无配置用户 (2) 口令爆破技术 特征 : 使用Base64(用户名:密码)编码认证 响应码非401表示登录成功 爆破代码示例 : (3) Tomcat历史漏洞 漏洞资源 : 官方安全公告: Tomcat5: http://tomcat.apache.org/security-5.html Tomcat6: http://tomcat.apache.org/security-6.html Tomcat7: http://tomcat.apache.org/security-7.html CVE数据库:http://cve.scap.org.cn Sebug漏洞库:http://sebug.net 重要漏洞示例 : CVE-2013-2067:Session fixation (6.0.21-6.0.36) CVE-2012-3544:Denial of service (6.0.0-6.0.36) CVE-2008-2938:Directory traversal (6.0.18) 3. Tomcat识别技巧 响应头包含: Server:Apache-Coyote/1.1 通过错误页面获取具体版本信息 三、Resin服务器安全分析 1. Resin基础信息 特点 :默认支持PHP解析(通过Quercus) 主流版本 :Resin3.x、Resin4.x 重要配置文件 : Resin3: conf/resin.conf Resin4: conf/resin.xml 2. Resin攻击技术 (1) 获取WebShell Resin4 Web部署 : 登录管理后台 通过HTTPS访问(需开启8443端口) 使用"Deploy"功能上传war包 Resin3部署 : 直接将war包放入 webapps 目录会自动部署 (2) 管理密码安全 加密方式 : Resin3: MD5+Base64 Resin4: SSHA加密 密码配置文件示例 : 3. Resin安全配置 默认限制 : 需改为true才能外部访问管理后台 四、Weblogic服务器安全分析 1. Weblogic基础信息 版本差异 : 10g以下: http://host:7001/console/login/LoginForm.jsp 10g以上: http://host:7001/console 默认端口 :7001 2. Weblogic攻击技术 (1) 密码配置文件 位置 : 加密方式 : Weblogic9: 3DES加密 Weblogic12: AES加密(需配合SerializedSystemIni.dat) (2) 获取WebShell 通过管理后台部署war包获取WebShell 3. Weblogic域概念 域是由单个管理服务器管理的WebLogic Server实例集合,包含: 配置文件 Web应用 安全策略 五、Websphere服务器安全分析 1. Websphere基础信息 主流版本 :6.x、7.x、8.x 管理后台 : https://localhost:9043/ibm/console/logon.jsp 默认凭证 : admin/(空) websphere/websphere system/manager 2. Websphere攻击技术 获取WebShell : 登录管理后台 部署war应用 注意上下文名称设置 保存配置使其生效 版本兼容性 : Websphere6仅支持Web应用2.3(需修改web.xml) 六、GlassFish服务器安全分析 1. GlassFish基础信息 管理后台 : http://localhost:4848 默认凭证 : GlassFish2: admin/adminadmin GlassFish3/4: 本地自动登录,远程需启用Secure Admin 2. GlassFish攻击技术 通过管理后台部署war包获取WebShell 七、通用攻击方法 1. 构建WebShell war文件 步骤 : 使用MyEclipse新建Web项目 将jsp放入WebRoot目录 导出项目为war文件 2. 服务器识别技巧 检查默认管理页面 分析响应头信息 扫描常见端口 检查错误页面特征 3. 配置文件利用 查找数据源配置获取数据库凭证 分析server.xml获取绑定域名和目录 检查context.xml获取上下文配置 八、防御建议 修改默认密码和禁用默认账户 限制管理后台访问IP 及时更新补丁修复已知漏洞 禁用不必要的功能和端口 加强文件上传和部署审核 配置适当的访问控制策略 启用HTTPS加密管理通道 定期审计服务器配置和日志 九、资源参考 Tomcat版本选择:http://tomcat.apache.org/whichversion.html Tomcat Manager配置:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html Resin安全文档:http://www.caucho.com/resin-3.1/doc/resin-security.xtp Weblogic密码解密:http://drops.wooyun.org/tips/349 CVE漏洞数据库:http://cve.scap.org.cn Sebug漏洞库:http://sebug.net