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

URLConnection服务端请求伪造(SSRF)与文件泄露漏洞修复方案

使用URLConnection场景下SSRF与文件泄露漏洞的修复方案

当Web服务器未对用户传入的目标地址参数做合法性校验,就直接向该地址发起请求时,会产生**服务端请求伪造(SSRF)**漏洞。攻击者可利用该漏洞访问内网服务,或借助受影响的Web服务器作为跳板发起进一步攻击。

Java原生URLConnection默认支持file://等多种协议,攻击者可构造恶意参数利用这一特性访问服务器本地文件系统,甚至探测、访问其他内部服务,引发文件泄露、内网未授权访问等安全风险。

修复这类漏洞需要做两层强制校验,缺一不可:

  • 协议白名单校验:仅放行业务实际需要的HTTP/HTTPS协议,直接拦截所有非预期协议,从根源阻断file://等协议带来的本地文件读取风险
  • 目标IP合法性校验:解析目标域名对应的实际IP地址,拦截所有指向本地回环、链路本地、本地绑定的内网地址,避免攻击者通过域名解析绕过限制访问内网资源

可参考如下安全实现代码:

HttpURLConnection conn = null;
URL url = new URL(pagina);
// 校验协议,仅允许http/https开头的协议
if (!url.getProtocol().startsWith("http")) {
    throw new Exception("非法请求协议");
}
InetAddress inetAddress = InetAddress.getByName(url.getHost());
// 校验目标IP,禁止访问本地/内网地址
if (inetAddress.isAnyLocalAddress() || inetAddress.isLoopbackAddress() || inetAddress.isLinkLocalAddress()) {
    throw new Exception("非法目标地址");
}
conn = (HttpURLConnection) url.openConnection();
return conn;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 00:39:25