如何检查HttpServletRequest的request.getQueryString()方法是否容易受到SSRF攻击?

问题描述 投票:3回答:1

在我当前的Spring MVC应用程序中,我们的网关模块具有以下代码。

URI uri = new URI(restURLProtocol, null, URLDomain, URLPort, "/api" +    request.getRequestURI(), request.getQueryString(), null);

网关模块将使用AsyncRestTemplate调用同一服务器上的另一个应用程序,效果很好。

但是像chekmarx这样的工具建议代码request.getString()对于SSRF(服务器端请求伪造)攻击是成功的,因为攻击者可以控制目标的请求,通过在请求中发送URL或其他数据。

所以有什么方法可以检查request.getString()

是否容易受到Java中的SSRF攻击?

在我当前的Spring MVC应用程序中,我们的网关模块具有以下代码。 URI uri =新URI(restURLProtocol,null,URLDomain,URLPort,“ / api” + request.getRequestURI(),request ....

java security spring-mvc servlets ssrf
1个回答
0
投票

很难通过POC(概念证明)来证明代码审查发现。在这种情况下,在理论上假设SSRF可能发生。当查询字符串值出现在任何代码段中,并且用户在该查询字符串中输入其他URL时,如果得到响应,则可能会导致SSRF。您已阅读本文-https://www.acunetix.com/blog/articles/server-side-request-forgery-vulnerability/

© www.soinside.com 2019 - 2024. All rights reserved.