在我当前位于 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 攻击?