【问题标题】:Can the WebScarab Tool intercept any HTTP request anywhere?WebScarab 工具可以在任何地方拦截任何 HTTP 请求吗?
【发布时间】:2011-10-12 11:20:03
【问题描述】:

最近我一直在深入研究 Web 应用程序的安全性。在浏览时,我发现了来自 OWASP 的 WebScarab Tool,它可以将可能的攻击注入您的 Web 应用程序并使您的应用程序易受攻击。

我正在使用该工具拦截通过我的基于 JSF 1.2 框架的 Web 应用程序的任何请求。在使用时,我观察到在表单字段中输入的任何值在此工具中都显示为 HttpRequest。您可以修改这些值,它将自动创建一个新的请求标头,并且引人注目的是修改后的值将插入到数据库中。

这不是潜在的攻击吗?我的意思是任何人都可以拦截任何HttpRequest并借助工具修改参数并注入一些恶意内容,

我的问题是:

  1. 是否每个人都可以拦截从任何网页生成的 HttpRequest,例如 stackoverflow.com?
  2. 如果是,如何避免未知用户修改参数并重新制作编码 URL?
  3. 如果不是,请解释原因?我完全麻木了?

【问题讨论】:

    标签: security web-applications


    【解决方案1】:

    WebScarab 是一个代理:

    WebScarab 作为拦截代理运行,允许操作员在将浏览器创建的请求发送到服务器之前对其进行审查和修改,并在浏览器接收到服务器返回的响应之前对其进行审查和修改。

    但这需要客户端(例如您的网络浏览器)实际上是use the proxy

    为了开始使用 WebScarab 作为代理,您需要将浏览器配置为使用 WebScarab 作为代理。这是在 IE 中使用工具菜单配置的。选择工具 -> Internet 选项 -> 连接 -> LAN 设置以获取代理配置对话框。

    所以只有使用 WebScarab 代理的客户端的通信才能被拦截。

    【讨论】:

      【解决方案2】:

      使用 WebScarab 或其他 UI 拦截器工具,人们可以更改从客户端到服务器的请求处理之间的事务数据。

      基本上可以通过在应用程序的客户端和服务器端应用相同的验证来避免这种情况。 例如,如果应用程序具有更改密码功能,并且有人尝试使用拦截器并使用新拦截的密码修改密码。保存时应在服务器端验证,无论用户输入的密码是否正确。

      【讨论】:

        猜你喜欢
        • 2012-07-11
        • 1970-01-01
        • 2021-08-07
        • 2023-03-25
        • 2017-07-13
        • 1970-01-01
        • 2021-08-11
        • 2017-02-28
        • 1970-01-01
        相关资源
        最近更新 更多