首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查request.getQueryString()方法的HttpServletRequest是否容易受到SSRF攻击?

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

Stack Overflow用户
提问于 2016-12-15 08:05:43
回答 1查看 1.7K关注 0票数 3

在我当前的应用程序中,在Spring中,我们有如下所示的网关模块代码。

代码语言:javascript
复制
URI uri = new URI(restURLProtocol, null, URLDomain, URLPort, "/api" +    request.getRequestURI(), request.getQueryString(), null);

网关模块将使用工作良好的AsyncRestTemplate在同一服务器上调用另一个应用程序。

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

那么,是否有任何方法可以检查request.getString()是否容易受到java中的SSRF攻击?

EN

回答 1

Stack Overflow用户

发布于 2020-01-15 08:21:31

很难通过POC (概念证明)来证明代码评审发现。在这种情况下,假设SSRF可以发生“理论上的”。当查询字符串值出现在任何代码中,用户在该查询字符串中输入不同的url时,如果得到响应,则可能导致SSRF。你读过这篇文章- https://www.acunetix.com/blog/articles/server-side-request-forgery-vulnerability/

因此,最好验证或格式化代码中使用的任何查询字符串值。SSRF是一个长期目标,但是这些查询字符串值可能导致XXS或SQL注入(仅取决于使用值的方式)。

在我看来,代码评审应该导致开发人员的想法发生轻微的透视图变化,并让他/她考虑安全性。我认为大部分的代码评审都集中在价值是如何产生的,价值是从哪里进来的,以及它是如何在代码中使用的。只要注意数据流,并考虑如果恶意输入来了,会发生什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41159218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档