URL 操作总是在流星中返回 200:OK - 在 OWASP-ZAP 中被标记为违规

问题描述

我运行了 OWASP ZAP,该工具抛出了一个可能存在 sql 注入问题的高漏洞。尽管我们确信我们不会将任何 sql 数据库用作我们的应用程序堆栈的一部分,但我还是四处摸索并提出了一些问题。

检测到这个“漏洞”的payload如下:

https://demo.meteor.app/sockjs/info?cb=n6_udji55a+AND+7843%3D8180--+UFVTsdsds

在浏览器上运行这个,我得到一个响应:

{"websocket":true,"origins":["*:*"],"cookie_needed":false,"entropy":3440653497}

我可以继续对 cb= 部分之后的内容进行任何类型的操作,但仍然得到相同的响应。我相信这就是欺骗该工具将其标记为漏洞的原因 - 在其中注入了一个带有一些字符的 -- 并且仍然设法获得了正确的响应。

如何确保将 URL 参数更改为不存在的内容,返回 404禁止消息?

同样,当我尝试为以下对象执行 GET(或简单的浏览器调用)时:

https://demo.meteor.app/packages/accounts-base.js?hash=13rhofnjarehwofnje

我得到了为 accounts-base.js 自动生成的 JS 文件

如果我操作 hash= 值,我仍然会渲染相同的 accounts-base.js 文件。它不应该呈现 404 吗?如果不是,散列扮演什么角色?我觉得漏洞测试工具错误标记了这种基于 URL 的操作,并确定应用程序存在一些漏洞。

总结我的问题:

  1. 我如何确保操作 URL 会给我一个 404 或者至少是禁止的消息,而不是在流星应用程序中总是给出 200:ok?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)