java代码审计之SSRF

本文介绍了SSRF漏洞的形成原因,提供了一些漏洞示例,如使用HttpURLConnection进行不受限制的URL访问。审计策略包括检查从用户指定URL获取数据的场景,如获取图片、文件或生成移动WAP站。修复方案建议采用URL白名单、避免暴露响应信息以及限制请求协议和端口。
摘要由CSDN通过智能技术生成

概述

SSRF 形成的原因大都是由于代码中提供了从其他服务器应用获取数据的功能但没有对目标地址做过滤与限
制。比如从指定 URL 链接获取图片、下载等。

漏洞示例

此处以 HttpURLConnection 为例,示例代码片段如下:

String url = request.getParameter("picurl");
StringBuffer response = new StringBuffer();
URL pic = new URL(url);
HttpURLConnection con = (HttpURLConnection) pic.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "Mozilla/5.0");
BufferedReader in = new BufferedReader(new
InputStreamReader(con.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
modelMap.put("resp",response.toString());
return "getimg.htm";

审计策略

1、应用从用户指定的 url 获取图片。然后把它用一个随即文件名保存在硬盘上,并展示给用户;
2、应用获取用户制定 url 的数据(文件或者 html)。这个函数会使用 socket 跟服务器建立 tcp 连
接,传输原始数据;
3、应用根据用户提供的 URL,抓取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值