攻击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
步骤:
- 访问管理后台:
http://xxx.com/manager/html - 使用"WAR file to deploy"功能上传恶意war包
- 访问部署的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部署:
- 登录管理后台
- 通过HTTPS访问(需开启8443端口)
- 使用"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:
- 登录管理后台
- 部署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