You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

攻击者篡改请求时,如何让SOAP API不暴露axis2ns1:server故障码?

问题解决方案:SOAP故障码标准化与WebSphere错误页面配置修复

一、SOAP API故障码标准化修复

问题说明

当攻击者篡改请求的userName字段为特殊字符(如!@#$%^<>"")时,SOAP API返回的故障码为axis2ns1:Server,存在安全风险,需替换为标准的soap:server或soap:client。

请求示例

  • 原始请求:
<userName>?</userName>
  • 篡改后请求:
<userName>!@#$%^<>""</userName>

响应示例

  • 正常原始响应:
<errorMessages><errorCode>INVALID_NUMBER</errorCode><errorMessage>INVALID_NUMBER</errorMessage><errorContext>UserProfile[0]</errorContext><highlightedField>UserProfile.userNumField1</highlightedField><errorEnvCode>DEF</errorEnvCode><errorPosition>0</errorPosition></errorMessages>
  • 当前异常响应(需修改):
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault xmlns:axis2ns1="http://schemas.xmlsoap.org/soap/envelope/">
         <faultcode>axis2ns1:Server</faultcode>
         <faultstring>Internal Error</faultstring>
         <detail/>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

修复方案

  1. 明确错误类型映射
    • 客户端参数非法(如格式错误):返回soap:client故障码
    • 服务端内部处理异常:返回soap:server故障码
  2. 自定义Axis2错误处理逻辑
    • 编写自定义FaultHandler类,捕获异常后构造标准SOAP Fault,指定命名空间为http://schemas.xmlsoap.org/soap/envelope/,故障码前缀使用soap:
    • 在Axis2的services.xml中配置该自定义Handler,替换默认错误处理流程
  3. 代码层面直接修正
    • 若通过代码手动生成Fault响应,确保faultcode字段使用标准前缀,避免框架自动生成的axis2ns1:前缀

二、WebSphere环境下web.xml 500错误页面配置无效修复

问题说明

web.xml中已配置500错误对应的错误页面,在JBoss环境正常生效,但WebSphere环境下无法触发。

修复方案

  1. 启用WebSphere应用级错误页面支持
    • 登录WebSphere管理控制台,进入目标应用
    • 打开错误页面选项,勾选「启用web.xml中定义的错误页面」,保存后重启应用
  2. 优化web.xml配置格式
    确保配置符合WebSphere规范,示例:
<error-page>
    <error-code>500</error-code>
    <location>/error/500.jsp</location>
</error-page>

注意location路径需正确指向应用内的错误页面文件
3. 调整全局错误页面优先级

  • 进入服务器 > WebSphere应用服务器 > [目标服务器] > 错误页面
  • 将「发送错误页面」设置为「否」,或调整优先级让应用级配置优先生效
  1. 排查自定义异常拦截逻辑
    • 检查应用内的Servlet过滤器、全局异常处理器,确保这些逻辑不会直接返回响应而绕过web.xml的错误页面配置

内容的提问来源于stack exchange,提问作者Selvi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 00:35:30